数据结构
西伯利亚狼本狼
我就是我,颜色不一样的烟火
展开
-
顺序查找和折半查找
查找的基本概念1)查找:在数据集合中寻找满足某种条件的数据元素的过程成为查找。查找的结果一般分为两种:查找成功,即在数据集合中找到了满足条件的数据元素;另一种是查找失败。2)查找表(查找结构):用于查找的数据集合称为查找表,它由同一种类型的数据元素(或者记录)组成,可以使一个数组或链表等数据类型。对查找表经常进行的操作一般有四种:①查询某个特定的数据元素是否在查找表中;②检索满足条件的某个特定的数据元素的各种属性;③在查找表中插入一个数据元素;④从查找表中删除某个数据元素。3)静态查找表:如果一个查.原创 2020-12-23 14:51:29 · 674 阅读 · 0 评论 -
归并排序和基数排序
归并排序思想:归并排序与上述基于交换,选择排序的思想不一样。“归并”的含义是将两个或两个以上的有序列表组合成一个新的有序表。嘉定待排序表含有n个记录,则可以看成是n个有序的字表,每个字表长度为1,然后两两归并,得到n/2个长度为2或1的有序表;再两两归并,…,如此重复,直到合并成一个长度为n的有序表位置,这种排序方法成为2-路归并排序,如下为归并排序示例。Merge()的功能是将前后相邻的两个有序表归并成为一个有序表的算法。设两段有序表A[low…mid],A[mid…high]存放在同一顺序.原创 2020-12-17 17:48:03 · 239 阅读 · 0 评论 -
选择排序
概念:选择排序的基本思想是:每一趟(例如第i趟)在后面的n-i+1(i=1,2,…,n-1)个待排序元素中选取关键字最小的元素,作为有序子序列的第i个元素,知道第n-1趟昨晚,待排序元素只剩下1个,就不用了再选了。选择排序包括简单选择排序和堆排序等。简单选择排序思想:主要操作时进行关键字之间的比较,因此改进简单选择排序应以如何减少“比较”触发考虑。java代码实现: /** * @author: cchan * @description: 堆 * @create: 2020..原创 2020-12-16 18:17:38 · 1170 阅读 · 0 评论 -
交换排序
概念:交换排序就是根据序列中两个元素关键字的比较结果来对这两个记录在序列中的位置。基于交换的排序算法有很多,主要包括冒泡排序和快速排序。1.冒泡排序思想:假设待排序表长为n,从后往前(或从前往后)两两比较相邻元素的值,若为你许(即A[i-1]>A[i]),则交换它们,知道序列比较完。简称他为一趟冒泡,结果将最小的元素交换换到待排序列的第一个位置(关键字最小的元素如气泡一般逐渐往上“漂浮”,只至“水面”,这就是冒泡阿脾虚名字的由来)。下一趟冒泡时,前一趟确定的最小元素不再参与比较,待排序列减.原创 2020-12-15 15:08:54 · 511 阅读 · 0 评论 -
插入排序
概念:插入排序是一种简单直观的排序方法,其基本思想在于每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中,直到全部记录插入完成。由插入排序的思想可以引申出三个重要的排序算法:直接插入排序,折半插入排序和希尔排序。直接插入排序思想:为了实现对L[1…n]的排序,可以将L(2)~L(n)依次插入到前面已经排好序的子序列中,初始假定L(1)是一个已经排好序的子序列。上述操作执行n-1次后就能得到一个有序表。插入爱旭在是现场通常采用就地排序(空间复杂度为O(1)),因而再从后往前.原创 2020-12-15 12:18:51 · 134 阅读 · 0 评论 -
图
定义:图(Graph)结构也是一种非线性数据结构,并且每个数据元素之间可以任意关联。正是任意关联性,导致了图结构中数据关系的复杂性。一个典型的图结构包括如下两个部分:顶点(Vertex):图中的数据元素。边(Edge):图中连接这些顶点的线。分类:无向图如果一个图结构中所有的边都没有方向性,这称为无向图。有向图如果一个图结构,边是有方向性的,这称为有向图。权是什么在实际应用中图的边往往需要表示成为某种数值,这个数值便是该边的权。无向图中加权值,则称为无向带权图。有向图中加权原创 2020-05-20 15:14:11 · 101 阅读 · 0 评论 -
树
树(Tree)的基本概念树是由结点或顶点和边组成的(可能是非线性的)且不存在着任何环的一种数据结构。没有结点的树称为空(null或empty)树。一棵非空的树包括一个根结点,还(很可能)有多个附加结点,所有结点构成一个多级分层结构。树(Tree)的种类1.二叉树二叉树的代码:public class TreeNode { public int val; public TreeNode left, right; public TreeNode(int val) {原创 2020-05-20 12:05:27 · 137 阅读 · 0 评论