Fork me on GitHub

07 2020 档案

摘要:1. 堆概念 二叉堆的性能有很大的问题,现实中很大高级的堆用的是斐波拉契堆和加的堆。 https://www.cnblogs.com/skywang12345/p/3610187.html#a1 https://en.wikipedia.org/wiki/Binary_heap 堆是一种特殊的树。只 阅读全文
posted @ 2020-07-26 15:37 kris12 阅读(326) 评论(0) 推荐(0) 编辑
摘要:字典树Trie 1. 字典树的数据结构2. 字典树的核心思想3. 字典树的基本性质 1. 树Tree 按层次打印一颗二叉树, 在树中深度优先搜索:ABDH I EJ CFG 广度优先搜索:A BC DEFG HIJ 2. 二叉搜索树 二叉搜索树是子树之间的关系,并不是儿子和父亲的关系。 任何一个节点 阅读全文
posted @ 2020-07-26 15:35 kris12 阅读(476) 评论(0) 推荐(0) 编辑
摘要:位图 BitMap 存储结构,位图(BitMap)。布隆过滤器本身就是基于位图的,是对位图的一种改进。 有 1 千万个整数,整数的范 围在 1 到 1 亿之间。如何快速查找某个整数是否在这 1 千万个整数中? 当然,这个问题还是可以用散列表来解决。不过,我们可以使用一种比较“特殊”的散列表,那就是位 阅读全文
posted @ 2020-07-25 18:55 kris12 阅读(1541) 评论(1) 推荐(1) 编辑
摘要:1. 跳表Skip List 二分查找底层依赖的是数组随机访问的特性, 所以只能用数组来实现。如果数据存储在链表中,就真的没法用二分查找算法了吗?实际上,我们只需要对链表稍加改造,就可以支持类似“二分”的查找算法。 我们把改造之后的 数据结构叫作跳表(Skip list)。 跳表是一种各方面性能都比 阅读全文
posted @ 2020-07-23 16:48 kris12 阅读(469) 评论(0) 推荐(0) 编辑
摘要:1. 链表 数组需要一块连续的内存空间来存储,对内存的要求比较高。如果申请一个 100MB 大小的数组,当内存中没有连续的、足够大的存储空间时,即便内存的剩余总可用空间大于 100MB,仍然会申请失败。 而链表恰恰相反,它并不需要一块连续的内存空间,它通过“指针”将一组零散的内存块串联起来使用,所以 阅读全文
posted @ 2020-07-23 16:46 kris12 阅读(353) 评论(0) 推荐(0) 编辑
摘要:1. 树Tree 2. 二叉树 Binary Search 二叉树遍历 Pre-order/In-order/Post-order 1. 前序(Pre-order):根-左-右 2. 中序(In-order):左-根-右 (如果一棵树是二叉搜索树,它的中序是有序的) 3. 后序(Post-order 阅读全文
posted @ 2020-07-21 23:03 kris12 阅读(770) 评论(0) 推荐(0) 编辑
摘要:1. 二进制计数法 机器里的数字表示方式和存储格式就是 二进制 十进制 < — > 二进制 : 如何转换? 4(d): 0100 (0*2^0 + 0*2^1 + 1*2^2) 8(d): 01000 5(d): 0101 6(d): 0110 2. 二进制的位操作-位运算 位运算符: 左移(分为逻 阅读全文
posted @ 2020-07-21 23:02 kris12 阅读(881) 评论(0) 推荐(0) 编辑
摘要:1. 搜索算法 在树(图/状态集)中寻找特定节点 深度优先搜索算法和广度优先搜索算法都是基于“图”这种数据结构。 图上的搜索算法就是,在图中找出从一个顶点出发,到另一个顶点的路径。图上的搜索算法有深度优先、广度优先搜索算法,和A*A∗、IDA*IDA∗ 等启发式搜索算法。 广度优先搜索和深度优先搜索 阅读全文
posted @ 2020-07-19 19:26 kris12 阅读(2071) 评论(0) 推荐(0) 编辑
摘要:1. 图的概念 树是非线性表数据结构,图(Graph)也是另一种非线性表数据结构。 树中的元素称为节点,图中的元素叫作顶点(vertex)。图中的一个顶点可以与任意其他顶点建立连接关系。这种建立的关系叫作边(edge)。比如社交网络就是一种典型的图结构。 跟顶点相连接的边的条数叫作顶点的度(degr 阅读全文
posted @ 2020-07-15 19:32 kris12 阅读(436) 评论(0) 推荐(0) 编辑
摘要:算法的开章,递归是实现其他高级算法如深度优先、分治等的基础; 碰到一个题目就找它的重复性,重复性有最近的重复性(根据重复性怎么构造怎么分解-->分治、回溯等办法,本质就是递归),或者最优重复性(即动态规划)。 本质上就是找它的重复性。 找重复性以及分解问题,最后组合每个子问题的结果。 1. 分治 D 阅读全文
posted @ 2020-07-11 17:40 kris12 阅读(606) 评论(0) 推荐(0) 编辑

levels of contents
点击右上角即可分享
微信分享提示