拓扑排序

思想存储:找一个存放入度为零的点,队列,表都可以。一个链表存放点,也就是邻接表。首先,对每个顶点计算它的入度。然后,将所有人度为0的顶点放人一个初始为空的队列中。当队列不空时,删除一个顶点v,并将与v邻接的所有顶点的入度均减1。只要一个顶点的入度降为0,就把该顶点放人队列中。
2020年04月02日 616次浏览

快速排序

思想基本思想是任取待排序对象序列中的某个对象(三值分割法取得)作为基准,按照该对象的排序码大小,将整个对象序列划分为左右两个子序列:左侧子序列中所有对象的排序码都小于或等于基准对象的值右侧子序列中所有对象的排序码都大于基准对象的值基准对象则排在这两个子序列中间(这也是该对象最终应安放的位置)。然后分
2020年03月23日 643次浏览

堆排序

思想若在输出堆顶值之后,使得剩余n-1个元素的序列重又建成一个堆,则得到n个元素中的次小值。如此反复执行,便能得到一个有序序列。建堆:用顺序结构存完全二叉树,n个元素只需n个结点筛选:输出堆顶,即堆顶与堆的最后一个元素交换;再将剩余的元素自堆顶至叶子调整成堆。图片演示代码public class H
2020年03月23日 118,922次浏览

插入排序

思想当插入第i(i>=1)个对象时,前面的V[1],V[2],…,V[i-1]已经排好序。这时,用V[i]的排序码与V[i-1],V[i-2],…的排序码顺序进行比较,找到插位置即将V[i]插入,原来位置上的对象向后顺移。图片代码publicstatic<AnyTypeextendsCo
2020年03月22日 581次浏览

Java写一个二叉查找树

简介二叉树成为二叉查找树的性质是,对于树中的每个节点X,它的左子树中所有项的值小于X中的项,而它的右子树中所有项的值大于X中的项。要求要有节点类、实现比较器,使得节点可以compareTo,使用泛型表节点数据成员变量:一个根节点成员方法:BinarySearchTree、contains、findM
2020年03月21日 349次浏览

Java用孩子兄弟表示法表示树,求树的的深度

问题使用孩子兄弟表示法,求一棵树的深度。要定义树的节点,树,初始化树,泛型表示节点的数据类型思路求树的深度,就是对根节点求深度。转变为对普通节点求深度。定义一个节点来当指针判断如果孩子都没有,就是0定义变量记录最高的,孩子的高度对每个孩子递归取最高那个对节点递归判断是否出现更高的循环结束,因为是孩子
2020年03月21日 300次浏览

SORT简单看

排序分类插入排序直接插入排序折半插入排序交换排序冒泡排序快速排序选择排序直接选择排序树形选择(锦标赛)排序堆排序归并排序基数排序细看排序算法1.直接插入排序(InsertSort)思想当插入第i(i>=1)个对象时,前面的V[1],V[2],…,V[i-1]已经排好序。这时,用V[i]的排序码
2020年03月16日 462次浏览