符号表

什么是符号表

符号表就是一种「以键值对方式」存储数据的数据结构。人类使用的几乎所有数据集都可以表示为「键值对」,其中,键要保持唯一性。

接口设计

行为测试

测试设计好的数据结构的行为表现能否与预期一致。

性能测试

测试设计好的数据结构的各种行为的性能表现。

具体实现

要么是以数组为原型,要么是以链式结构为原型,要么是以两者混合的结构为原型。

整个计算机世界,是以少数几个非常优秀的数据结构和算法为基础支撑的。

链表实现:无序的顺序符号表

链表

基于有序数组实现,两个数组

递归的二分查找 迭代的二分查找

结合链式结构和二分查找:二叉查找树实现符号表

简单,但有效,但性能表现不够稳定

平衡查找树

2-3 查找树,稍微复杂,但是性能表现稳定。

2-3 查找树的具体实现使用「红黑二叉查找树」,高效稳定。

散列表

基于 hash 函数,将「键值对」映射为「地址-值对」。

总结

纵览全局,学习的同时能够从全局的高度来连贯性理解。


不知是该恭喜,还是该怎样,总之阅读到该文的,你是第 人。每一次刷新,都是不同的自己。