![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
太过平凡的小蚂蚁
这个作者很懒,什么都没留下…
展开
-
数据结构与算法
https://www.cnblogs.com/skywang12345/p/3603935.html 数据结构和算法目录表 C C++ Java 线性结构 1. 数组、单链表和双链表 2. Linux内核中双向链表的经典实现 数组、单链表和双链表 数组、单链表和双链表 栈 栈 栈 队列...转载 2018-08-04 11:30:56 · 250 阅读 · 0 评论 -
二叉树层次遍历
根据层次遍历的顺序,每一层都是从左到右的遍历输出,借助于一个队列。先将根节点入队,当前节点是队头节点,将其出队并访问,如果当前节点的左节点不为空将左节点入队,如果当前节点的右节点不为空将其入队。所以出队顺序也是从左到右依次出队。代码:public class BiTree{ public int val; public BiTree left; ...转载 2018-08-09 09:57:24 · 119 阅读 · 0 评论 -
二叉树及其性质
数据结构中有很多树的结构,其中包括二叉树、二叉搜索树、2-3树、红黑树等等。本文中对数据结构中常见的几种树的概念和用途进行了汇总,不求严格精准,但求简单易懂。1. 二叉树二叉树是数据结构中一种重要的数据结构,也是树表家族最为基础的结构。二叉树结点的度数指该结点所含子树的个数,二叉树结点子树个数最多的那个结点的度为二叉树的度。二叉树的根结点所在的层数为1,根结点的孩子结点所在的层数为...转载 2018-08-10 15:07:38 · 298 阅读 · 0 评论 -
直接排序
思想:直接插入排序(Straight Insertion Sort)的基本思想是:把n个待排序的元素看成为一个有序表和一个无序表。开始时有序表中只包含1个元素,无序表中包含有n-1个元素,排序过程中每次从无序表中取出第一个元素,将它插入到有序表中的适当位置,使之成为新的有序表,重复n-1次可完成排序过程。 /** * * @param a 原数组 ...原创 2018-08-10 18:07:48 · 436 阅读 · 0 评论 -
希尔排序
希尔排序(Shell Sort)是插入排序的一种,它是针对直接插入排序算法的改进。该方法又称缩小增量排序,因DL.Shell于1959年提出而得名。希尔排序实质上是一种分组插入方法。它的基本思想是:对于n个待排序的数列,取一个小于n的整数gap(gap被称为步长)将待排序元素分成若干个组子序列,所有距离为gap的倍数的记录放在同一个组中;然后,对各组内的元素进行直接插入排序。 这一趟排序完成之...原创 2018-08-10 23:59:42 · 162 阅读 · 0 评论 -
选择排序
选择排序(Selection sort)是一种简单直观的排序算法。它的基本思想是:首先在未排序的数列中找到最小(or最大)元素,然后将其存放到数列的起始位置;接着,再从剩余未排序的元素中继续寻找最小(or最大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 public static void selectSort(int[] a,int n){ ...原创 2018-08-11 07:45:57 · 553 阅读 · 0 评论