平衡二叉树(AVL树)

平衡二叉树(AVL树) 1、为什么要平衡二叉树 如果由数组{1, 2, 3, 4, 5}来构建一颗二叉排序树,得到的二叉树不仅没有体现其特点,反而还退化成了链表,且因为要判断左子树,查询效率比链表还低 2、平衡二叉树的介绍

算法 

排序算法----冒泡和选择排序

排序算法----冒泡和选择排序 1、冒泡排序 冒泡排序的基本思想是:通过对待排序序列从前向后(从下标较小的元素开始),依次比较 相邻元素的值,若发现逆序则交换,使值较大的元素逐渐从前移向后部,就象水底下的气泡一样逐渐向上冒。 1.1冒泡排序代码实现

算法 

排序算法----基数排序

排序算法----基数排序 1.基本思想 基数排序的基本思想:将所有待比较数值统一为同样的数位长度,数位较短的数前面补零。然后,从最低位开始,依次进行一次排序。 这样从最低位排序一直到最高位排序完成以后, 数列就变成一个有序序列。 2.基数排序的代码实现

算法 

排序算法----插入和希尔排序

排序算法----插入和希尔排序 1、插入排序 插入排序的基本思想:把 n 个待排序的元素看成为一个有序表和一个无序表,开始时有 序表中只包含一个元素,无序表中包含有 n-1 个元素,排序过程中每次从无序表中取出第一个元素,把它的排 序码依次与有序表元素的排序码进行比较,将它插入到有序表中的适当位置,

算法 

二叉树----遍历、查找、删除

二叉树----遍历、查找、删除 1、为什么需要树? 数组的查找效率高,但是插入效率低。 链表的插入效率高,查找效率低。 2、二叉

算法 

二叉树----顺序二叉树、线索二叉树

二叉树----顺序二叉树、线索二叉树 1、顺序二叉树 1.1、 顺序二叉树的特点 特点 顺

算法 

二叉排序树

二叉排序树 1、二叉排序树的介绍 二叉排序树:BST: (Binary Sort(Search) Tree), 对于二叉排序树的任何一个非叶子节点,要求

算法 

快速排序踩坑史

1、项目场景: 记录一次快速排序遇坑史,周围的室友、朋友不会数据结构和算法... 无奈,今天大部分时间都在快速排序上面了

算法 

堆排序

堆排序 1、基本介绍 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为 O(nlogn),它也是不稳定排序 堆是具有以下性质的

算法 

动态规划算法

1、动态规划算法 1.1、算法介绍 动态规划(Dynamic Programming)算法的核心思想是:将大问题划分为小问题进行解决,从而一步步获取最优解的处理算法 动态规划算法与分治算法类似,其基本思想也是将待

算法