Preamble
这里我把视觉模型谈谈,还没写完,从最重要的有价值的章节(我管它叫做MVS,如果喜欢篮球应该对MVP很了解吧)开始写的,后续还会写,不要因为里面有的只有标题就冲我扔臭鞋。
9.1 可视化格式化模型(Visual Formatting Model)
这章和接下来描述了可视化格式化模型(VFM):用户代理如何在可视媒体上处理文档树.
在VFM中,每个在文档树中的元素参照盒子模型生成0个或多个盒子。这些盒子的布局由以下几方面掌控:
盒子的尺寸和类型
位置方案(普通流、float和绝对定位)
元素在文档树中的关系;
外部信息(比如viewport的尺寸、图片等实际尺寸等)
这章和接下来定义的属性适用于continu
继续阅读 »
前段时间在朴灵的github中,看到了一张出自拔赤之手的前端工程师技能树,有感原来前端的技能树如此的丰富,而自己所知所会的竟然如此之少,实在是大开眼界。遂保存起来希望以后能慢慢的点满前端技能树。
继续阅读 »
原理
堆排序中的“堆”,它是:
一棵完全二叉树
树的每个节点都不比它的两个子节点小(有序)
由此得到最有用的信息:根节点是二叉树里面最大的元素
堆排序的过程是:
构造有序的堆
输出并删除最大的元素
重复前面两个步骤
继续阅读 »
vue-treeSelect是一个基于vue2.x框架做的树形选择器,实现了单选、多选的功能。即使在上万数据节点的时候,依然有较好的性能体验。
项目开源地址
继续阅读 »
【什么是堆】
概念:堆是一种特殊的二叉树,具备以下两种性质
1)每个节点的值都大于(或者都小于,称为最小堆)其子节点的值
2)树是完全平衡的,并且最后一层的树叶都在最左边
这样就定义了一个最大堆。如下图用一个数组来表示堆:
继续阅读 »
View 树的绘图流程
当 Activity 接收到焦点的时候,它会被请求绘制布局,该请求由 framework 处理。
整个 View 树的绘图流程在ViewRoot.java类的performTraversals()函数展开,该函数所做 的工作可简单概况为是否需要重新计算视图大小(measure)、是否需要重新安置视图的位置(layout)、以及是否需要重绘(draw),流程图如下:
继续阅读 »
工作面试是个很有意思的过程,
面试经常是一个对未知领域初步了解的最好时机(对双方都是),
面试官和面试人通常也会尽力在最短的时间里表达/接受尽可能多的信息.
因此面试题一般也是比较有趣的:
它浓缩了日常工作中的典型和有挑战性的问题,
而又不会带有太多日常工作中的繁琐.
继续阅读 »
作者 :刘丰恺
作者博客:若梦浮生
转载需征得作者本人同意
之前试着在Android平台封装了一个轻量级的游戏开发框架JustWeEngine ,因为是轻量级的所以也没想太多,很多地方的处理都不太够,比如关于碰撞事件的处理,就是一个简单的On2的遍历,前一阵还被吐槽了233333。
其实优化On2碰撞的思路是一而贯之的,就是不去处理根本不可能撞在一起的对象。所以就文章讨论一下我了解的在游戏开发中经常被使用的碰撞机制。
示例图
图示是使用了四叉树进行碰撞判断的一个图示,变成紫色的是从四叉树中拿取的离我最近的可能碰撞对象,这里我们只需要处理最近的四个对象就可以了,这个demo感谢F
继续阅读 »
分析:如果已知深度为d - 1的k叉树(以下代称T(d-1))一共有a(k, d - 1)种标号法,那么深度为d的k叉树(以下代称T(d))的a(k, d)如何计算?more
对T(d)来说,除去根节点,恰好有k棵T(d-1)子树,考虑到根节点的标号必须是1,则T(d)的标号方法可以分两步进行:首先把2~n的标号分成k组,每组m个,共有
继续阅读 »
现在算起来,至少有220分是不应该丢的——已经接近我的得分了,都是由各种脑残的错误引起的。总之,经历了这一切,我都早已习惯了。过去的事只能让它过去了,重要的是:经历了这一切,我总要明白一些什么。
生活大爆炸版剪刀石头布
题目链接:Link 得分:100
这题是真正的大水题,当然也是我唯一一道满分的题(欲哭无泪)。不说了,模拟就是了。
联合权值
题目链接:Link 得分:40
这题不难,关键是要将无根树转化成为有根树,做一次DFS。事实上,两个距离为2的节点,要么一个是另一个的祖父节点,要么两个节点是兄弟关系。一方面,我们在DFS时先求当前节点与祖父节点产生的联合权值(如果有的话);另一方面,遍历当前节点的子节点。对于一个
继续阅读 »