数据结构与算法
未读
5.3二叉排序树(Binary Sort Tree)
5.3 二叉排序树(Binary Sort Tree) 使用数组: 数组未排序, 优点:直接在数组尾添加,速度快。 缺点:查找速度慢。 数组排序,优点:可以使用二分查找,查找速度快,缺点:为了保证数组有序,在添加新数据时,找到插入位置后,后面的数据需整体移动,速度慢。 使用链式存储 : 链表不管链表
数据结构与算法
未读
5.4 平衡二叉树(balanced binary tree)
5.4 平衡二叉树(balanced binary tree) 例:一个二叉排序树,它的左子树全部为空,从形式上看,更像一个单链表。插入速度没有影响,但查询速度明显降低 (因为需要依次比较), 不能发挥BST的优势,因为每次还需要比较左子树,其查询速度比单链表还慢。 解决办法:将二叉排序树转平衡二叉
数据结构与算法
未读
5.5 多路查找树(Muitl-Way Search Tree)
5.5 多路查找树(Muitl-Way Search Tree) 二叉树的操作效率较高,但是也存在问题: 二叉树处理的数据需要加载到内存的,如果二叉树的节点少,则问题不大,但是如果二叉树的节点很多(比如1亿), 就存在如下问题 在构建二叉树时,需要多次进行io操作(海量数据存在数据库或文件中),节点
数据结构与算法
未读
7.1 二分查找算法(非递归)
7.1 二分查找算法(非递归) 一 . 二分查找算法 二分查找法只适用于从有序的数列中进行查找(比如数字和字母等),将数列排序后再进行查找 二分查找法的运行时间为对数时间O(㏒₂n) ,即查找到需要的目标位置最多只需要㏒₂n步,假设从[0,99]的队列(100个数,即n=100)中寻到目标数30,则
数据结构与算法
未读
7.3 动态规划算法(Dynamic Programming)
7.3 动态规划算法(Dynamic Programming) 一. 定义 动态规划(Dynamic Programming)算法的核心思想是:将大问题划分为小问题进行解决,从而一步步获取最优解的处理算法。动态规划算法与分治算法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从