- 博客(5)
- 资源 (59)
- 收藏
- 关注
原创 算法4第3章符号表的应用索引和稀疏矩阵
前面讲的符号表都是一个键对应一个值或多个键对应一个值,生活中还有很多应用需要一个键对应多个值,比如一个电影对应多个演员,这种结构被称为索引下面的代码利用符号表实现索引和反向索引,可以把一个电影和多个演员关联,并且可以反过来把一个演员和多部电影关联起来/************************************************************************...
2019-05-28 13:15:34 220
原创 算法4第3章哈希表及习题讲解
红黑树实现过于复杂,当不需要符号表中的键值有序时可以使用哈希表来实现符号表哈希表同红黑树一样高效,但是实现简单哈希表使用数组存储键值对,通过一个hash函数把key转成数组的索引,然后把value存储在数组中该索引的位置如果不同的key通过hash函数转换的索引i相同,则把i位置的不同key-value值通过链表链接起来查找的时候先通过hash找到索引位置,再遍历链表找到与key相同的ke...
2019-05-25 21:09:58 769
原创 算法4第3章红黑树及习题讲解
二叉查找树在最坏的情况下性能很差时间复杂度是O(N),本节我们学习一种新的数据结构红黑树它能保证操作在最坏情况下时间复杂度也是O(logN),无论怎么构造,它都能到达平衡,红黑树结构很复杂,首先我们学习一种叫2-3树的数据结构来帮忙对红黑树的理解。一般的二叉查找树一个节点只能有一个键两个子节点,在2-3树中一个节点最多可以有两个键3个子节点,左子树中的键都比左边的键小,中间子树的键大于左边的...
2019-05-25 18:24:25 2153 1
原创 算法4第3章二叉查找树及习题讲解
//符号表是一种存储键值对的数据结构, 它将一个键Key和一个值Value关联在一起存储,以后可以通过一个键值从符号表中找到其关联的值。//符号表一般用二叉查找树和哈希表实现,像java库里的HashMap/TreeMap//二叉查找树中每个节点都有一个Comparable的Key值和与Key关联的Value值,每个节点都有一个父节点(根节点除外),0/1/2个子节点,//每个节点的Key值...
2019-05-25 17:00:58 555
原创 算法4第2章快速排序/堆排序/优先队列及习题讲解
快速排序快速排序与归并排序类似,也是运用递归分治的思想,不过它不是从中间把数组a平分成2个子数组,而是选择一个切分元素a[lo]进行切分,切分过程中把比a[lo]小的元素都移到a[lo]的左边,把比a[lo]大的元素都移到a[lo]的右边,切分完成后根据a[lo]的最终位置j,把数组分成两个子数组a1和a2,这样a1的元素都<=a[j],a2的元素都>=a[j],再用同样的切分方...
2019-05-12 11:14:33 547
计算机科学概论中文(第10版)高清pdf
2012-04-01
Android应用开发揭秘高清pdf版part3
2011-04-02
数据库系统概念中文第4版part2.rar
2011-03-24
编程珠玑II(More programming Pearls) pdf
2010-12-09
The C Programming Language(C程序设计语言第2版新版的,十分清晰)pdf part2
2010-11-22
The C Programming Language(C程序设计语言第2版新版的,十分清晰)pdf part1
2010-11-22
The C Programming Language(C程序设计语言)pdf
2010-11-22
具体数学:计算机科学基础pdf part1
2010-11-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人