
数据结构
芒果茫得很
不讲码德
展开
-
二叉树遍历
完全二叉树与满二叉树区别:在于最后一层的子节点二叉树的遍历方式已知二叉树先序A B H F D E C K G,中序H B D F A E K C G,求后序?翻译 2017-08-03 15:06:32 · 325 阅读 · 0 评论 -
转-哈夫曼压缩算法
通俗易懂的原文:http://blog.jobbole.com/20091/我们直接来看示例,如果我们需要来压缩下面的字符串: “beep boop beer!” 首先,我们先计算出每个字符出现的次数,我们得到下面这样一张表 :然后,我把把这些东西放到Priority Queue中(用出现的次数据当 priority),我们可以看到,Priority Queue 是以P转载 2017-08-11 18:17:05 · 717 阅读 · 0 评论 -
linux资料:用户态和内核态区别
内核态:cpu可以访问内存所有数据,包括内存和硬盘,cpu也可以将自己从一个程序切换到另一个程序。用户态:只有受限的访问内存,且不允许访问外围设备(硬盘,网卡),占用cpu的能力被剥夺,cpu资源可以被其他程序获取。用户态和内核态的切换所有用户程序都是运行在用户态的,但是有时候程序需要做一些内核态的事情,例如从硬盘中读取数据,从键盘中获取输入等,而唯一可以做这些事情的就是操作系统,所以...原创 2018-07-31 13:08:53 · 384 阅读 · 0 评论 -
Java代码二叉树
import java.util.ArrayList;import java.util.List;public class BinTree { private BinTree lChild;//左孩子 private BinTree rChild;//右孩子 private BinTree root;//根节点 private Object data;//数据域 publi...原创 2018-10-26 16:36:05 · 208 阅读 · 0 评论 -
数组和链表
数组是申请的一块连续的内存空间,并且在编译阶段就要确定空间大小的,同时运行阶段是不允许改变的,意味着所有待办事项在内存中都是相连的(紧靠在一起的)。链表是动态申请的内存空间,现用现申,比数组灵活。当同时读取所有元素时,链表的效率高,读第一个,读第二个。当你需要跳跃,链表的效率就很低了。数组是连续的内存,对于访问数据,可以通过下标直接读取,时间复杂度为O(1),而添加删除数据就比较麻...翻译 2018-10-27 13:35:12 · 218 阅读 · 0 评论 -
哈希表-线性探测法/链地址法
1.线性探测法eg.假设散列表的长度是13,三列函数为H(K) = k % 13,给定的关键字序列为{32, 14, 23, 01, 42, 20, 45, 27, 55, 24, 10, 53}。分别画出用线性探测法和拉链法解决冲突时构造的哈希表,并求出在等概率情况下,这两种方法的查找成功和查找不成功的平均查找长度。2.链地址法:用链地址发解决冲突的方法时:把所有关键字为同义词的记录...原创 2018-10-27 13:34:48 · 4412 阅读 · 0 评论