构造二叉排序树与前序遍历、中序遍历、后序遍历的递归和非递归实现 前序遍历、中序遍历、后序遍历的递归和非递归实现前序遍历顺序:根->左->右。中序遍历顺序:左->根->右。后序遍历顺 2019-06-28 经典算法实现系列 经典算法实现系列 尾插法创建链表、打印链表、合并两个有序链表 注意:链表默认没有头节点,第一个节点就有值。 C/C++代码# include <iostream> # include <ve 2019-06-28 经典算法实现系列 经典算法实现系列 斐波那契数列:从分治法到动态规划 分治法思想分治法的适用条件: 问题的规模缩小到一定程度就可以容易地解决; 问题可以分解为若干个规模较小的相同问题,即问题具有最优子结构性质 2019-03-24 经典算法实现系列 经典算法实现系列 堆排序 基本思想堆排序是不稳定的排序算法。常见的不稳定排序算法有四种:快速排序、希尔排序、选择排序、堆排序。堆是具有以下性质的完全二叉树:每个结点的 2019-03-24 经典算法实现系列 经典算法实现系列 归并排序 基本思想归并排序是稳定的排序算法。归并排序使用的是分治思想,将一个大问题分解为小的子问题来解决。分治算法一般都是用递归来实现的。要对数组区间 2019-03-24 经典算法实现系列 经典算法实现系列 快速排序 基本思想快速排序是不稳定的排序算法。假设最终结果是递增有序的。快速排序的基本思想是选取一个记录作为枢轴,经过一趟排序,将整段序列分为两个部分 2019-03-24 经典算法实现系列 经典算法实现系列 选择排序 基本思想选择排序是不稳定的排序算法。假设最终结果是递增有序。在长度为N的无序数组中,第一次选定第一个位置上的元素,然后遍历后面n-1个数,找 2019-03-16 经典算法实现系列 经典算法实现系列 插入排序 基本思想插入排序显然是稳定排序算法。假设最终结果是递增有序。默认数组的首个元素是有序的,这部分看成部分有序的子数组,后面看成无序的子数组。从 2019-03-16 经典算法实现系列 经典算法实现系列 冒泡排序 基本思想冒泡排序显然是稳定的排序算法。假设最终结果是递增有序。使用两层循环,内层循环每轮从头到尾比较相邻数字并交换;外层循环确保最大的数最多 2019-03-14 经典算法实现系列 经典算法实现系列