顺序存储:
i:优点
1.存储密度大,存储密度为1;
2.表中数据元素可随机存取,顺序表具有按元素序号随机访问的特点,即0(1);
3.逻辑结构与物理结构是统一的,其中的元素都是顺序存储的;
ii:缺点
1.做插入、删除操作时,要移动大量元素,因此对很长的顺序表操作效率低,插入和删除操作不方便;
2、要预先分配存储空间,预先估计过大,会导致存储空间浪费,估计过小,会造成数据溢出。
链式存储:
i:优点
1.做插入、删除操作时很方便,不需要移动数据元素,动态性强;
2、不用预先估计存储空间的规模;
ii:缺点
1.存储密度小,存储密度小于1;
2.链表中按序号访问的时间复杂度为O(n)。
1.开放地址法:容易产生堆积问题;不适于大规模的数据存储;散列函数的设计对冲突会有很大的影响;插入时可能会出现多次冲突的现象,删除的元素是多个冲突元素中的一个,需要对后面的元素作处理,实现较复杂;结点规模很大时会浪费很多空间;
2.链地址法:处理冲突简单,且无堆积现象,平均查找长度短;链表中的结点是动态申请的,适合构造表不能确定长度的情况;相对而言,拉链法的指针域可以忽略不计,因此较开放地址法更加节省空间。插入结点应该在链首,删除结点比较方便,只需调整指针而不需要对其他冲突元素作调整。
队列:先进先出,一端插入,另一端删除;
堆栈:后进后出,一端进行插入删除。
后缀:对计算机处理友好,求值更容易,不需要考虑优先级。