Skip to content

finefuture/Data-structure-and-algorithm-analysis

Repository files navigation

《数据结构与算法分析 java第三版》读后总结

  • 强烈推荐想学习基础数据结构与算法的同学去翻阅一下这本书,这本书中包含了队列、栈、哈希表、图、树以及各种排序算法等等。

  • 我贴出来的是书中一些较为有趣且经典的数据结构与算法实现, 其中:

树的非递归插入与删除我用了两种方法实现:

1、AVLTree中我是用记录父节点的方法,在插入或删除之后,通过parent节点层层向上判断是否满足平衡条件来确定是否需要对树进行平衡操作(也就是通过旋转节点)

2、TreapTree中我是用栈来记录插入过程中所经过的节点,然后拿出栈中记录的父节点和祖父节点来调整优先级(这个树的定义是优先级随机生成,且父节点的优先级一定小于子节点的优先级)

其实上述两种都是通过自底向上来调节树的,还有一种自顶向下的方法来调节树,这种方法在SplayTree(伸展树)和RedBlackTree(红黑树)的实现中得到了提现,可以自行去看一下。

Releases

No releases published

Packages

No packages published

Languages