数据结构
JoyceYIDA
do myself
展开
-
二叉树之二分搜索树
树的基本知识: 节点的度:子节点的个数 叶子结点:终端节点,节点的度为0的结点 节点的高度:节点距离叶子结点的最长路径 节点的深度:根节点到节点的最长路径 树的高度:根节点的高速 节点的层数:深度+1 树的特性: 1.子树不相交 2.除了根节点之外,每个节点有且只有一个父节点 3.一棵N个节点的树有N-1条边。 树的存储: 1.数组存储:顺序存储,适合完全二叉树(堆就是完全二叉树),否则会有空间浪...原创 2019-06-14 16:56:47 · 362 阅读 · 0 评论 -
查找算法的两种方法
查找算法: 1)线性查找 package DataStruct; public class Test02 { public static void main(String[] args) { //线性查找 //目标数组 int[] arr=new int[]{2,3,4,5,6,7,8,9,0}; //目标元素 int dst=8; //目...原创 2019-02-01 20:11:22 · 266 阅读 · 0 评论 -
排序算法整理
以下我所举例所有的排序思想都是递增式排序 稳定性排序:冒泡、插入、归并 不稳定排序:选择排序、堆排序、希尔排序、快速排序 时间复杂度为O(n*n):冒泡、插入、选择 时间复杂度为O(nlogn):快速排序、堆排序、归并排序、希尔排序 辅助存储空间除了快速排序为O(logn)和归并排序为O(n)以外都是O(1) 系统排序Arrays.sort()底层实现是根据数组长度来选择不同的排序算法,当数组长度...原创 2019-08-19 23:01:34 · 595 阅读 · 0 评论