1 最近终于可以完整的写一个具有数据结构的项目代码了,在项目中需要对存储数据的数据结构做一个选择。要对这个结构进行插入,删除,查找操作,查找的关键字有3个。用数组,哈希表还是AVL树,要做一个选择。
数组对参数的最大值有要求,因为在一开始就需要将此确定下来。
哈希表的时间复杂度是log(1),所以查找是最快的,但是因为关键字太多,不好构建哈希算法,有可能散裂不开,导致时间复杂度也为log(n)
AVL树的时间复杂度是log(n),相当于二分查找,查找也是很快的。
所以最终选择AVL树
2 为什么要使用两级指针
一级指针指向静态数组,两级指针指向指针数组,要用到指针数组的地方可以使用两级指针代替,使用指针数据需要占用很多的数据块的空间,使用两级指针就不需要了,动态申请空间就可以了。