强化耦合 1.将隐式的关系变成显式的关系 例如:在界面的不同位置要显示不同的图形,位置和图形是一对一的关系,于是代码如下: for(int i = 0;i<count ;i++){ Draw(Shape[i], position[i]); } 分析: 因为连个数组元素之间的对应关系,并没有得到正式承 ...
分类:
其他好文 时间:
2020-02-19 14:52:29
阅读次数:
91
给定长度为 N 的散列表,处理整数最常用的散列映射是 (。如果我们决定用线性探测解决冲突问题,则给定一个顺序输入的整数序列后,我们可以很容易得到这些整数在散列表中的分布。例如我们将 1、2、3 顺序插入长度为 3 的散列表HT[]后,将得到HT[0]=3,HT[1]=1,HT[2]=2的结果。 但是 ...
分类:
其他好文 时间:
2020-02-13 14:47:08
阅读次数:
109
试实现分离链接法的删除操作函数。 函数接口定义: bool Delete( HashTable H, ElementType Key ); 其中HashTable是分离链接散列表,定义如下: typedef struct LNode *PtrToLNode; struct LNode { Eleme ...
分类:
其他好文 时间:
2020-02-08 17:49:43
阅读次数:
227
需要重点以下10种数据结构和10种算法: 10 个数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie 树 10 个算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法 ...
分类:
编程语言 时间:
2020-02-08 13:41:32
阅读次数:
88
YAML的语法和其他高阶语言类似并且可以简单表达清单、散列表、标量等数据结构。(列表用横杆表示,键值对用冒号分割,键值对里又可以嵌套另外的键值对) YAML文件扩展名通常为.yaml或者.yml。下面为示例 一定要对齐,只能使用空格 name: tom age: 21 gender: male sp ...
分类:
其他好文 时间:
2020-02-05 18:32:33
阅读次数:
77
1.什么是二叉查找树 在ADT MAP的实现方案中,可以采用不同的数据结构与搜索算法来保存和查找key。 有序表数据结构+二分查找法 散列表数据结构+散列及冲突解决算法 这里我们将尝试用二叉查找树保存key,实现key值的快速搜索。 2.二叉查找树的性质 比父节点小的key都出现在左子树中,比父节点 ...
分类:
其他好文 时间:
2020-01-27 17:36:03
阅读次数:
91
创建与输入数组相等长度的新数组,作为直接寻址表。两数之和的期望是Target,将Target依次减输入数组的元素,得到的值和直接寻址表比较,如果寻址表存在这个值则返回;如果不存在这个值则将输入数组中的元素插入寻址表,再进行输入数组中的下一个元素。 再进一步优化可以将输入数组直接作为直接寻址表,控制对 ...
分类:
其他好文 时间:
2020-01-23 13:59:02
阅读次数:
72
将一个大的空间的数据或者无法处理的空间的数据通过映射函数映射到一个小的容易处理的空间,但是在映射之后可能会出现不同的元素映射之后值相同的情况,这时就需要处理冲突,有两种方法分别是拉链法和开放寻址法 维护一个集合,支持如下几种操作: “I x”,插入一个数x; “Q x”,询问数x是否在集合中出现过; ...
分类:
其他好文 时间:
2020-01-22 20:17:04
阅读次数:
70
散列表的实现通常叫做散列。散列是一种用于以常数平均时间执行插入、删除和查找的技术。但是任何排序的信息都不会得到有效的支持。所以FindMax(),FindMin(),以及以线性时间打印的操作都是散列所不支持的。 理想的散列表数据结构值不过是一个包含有关键字的具有固定大小的数组。 关键字映射的函数叫做 ...
分类:
其他好文 时间:
2020-01-18 00:43:45
阅读次数:
84
写在前面:我感觉阅读算法书比没有系统地学习算法就开始盲目刷题要好很多 学习了数组、链表、栈、哈希表(散列函数)、选择排序、快速排序(分而治之)、二分查找、简单查找、递归、递推,觉得能够学到很多东西。 算法书并没有像知乎上说的没有用处,直接刷题就好??(本人为学校acm团队队员,一直为不能ak,有时周 ...
分类:
编程语言 时间:
2020-01-15 12:17:46
阅读次数:
142