![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构与算法
文章平均质量分 68
数据结构与算法
NameExist
温故而知新!
展开
-
线性表
定义和基本操作线性表:线性表是具有相同数据类型的n(n>=0)个数据元素的有限序列。一种典型的线性结构。除第一个元素外,每个元素有且仅有一个直接前驱。除最后一个元素外,每个元素有且仅有一个直接后继。线性表一维数组可以静态分配,也可以是动态分配。静态分配:数组的大小和空间事先已固定,一旦空间占满,再加入新的数据将产生溢出,会导致程序崩溃。动态分配:储存数据的空间是在程序执行过程中通过动态存储分配语句分配,一旦空间占满,可以另外开辟一块更大的存储空间,用来替换原来的存储空间。线性表的特点:原创 2021-03-26 18:17:15 · 1465 阅读 · 0 评论 -
十进制、二进制、十六进制转换
十进制进位规则:满十进一,用0、1、2、3、4、5、6、7、8、9来表示。比如: 0,1,…,9 之后又是0,满十进一,也就是0,1,…,9,10,…十进制是用0-9十个数码表示的数二进制二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是逢二进一,借位规则是借一当二。十六进制十六进制(英文名称:Hexadecimal),是计算机数据的一种表示方法。同我们日常生活中的表示法不一样。它由0-9,A-F组成(正好16个数码)。字母不区分大小写。与十原创 2021-03-25 21:41:30 · 3393 阅读 · 0 评论 -
冒泡排序与插入排序
文章目录冒泡排序直接插入排序折半插入排序冒泡排序它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。 时间复杂度:两层循环 ,O(n^2) Java实现private static void bubbleSort(int[] arr) { //最外层循环定义需要比较的次数 for(int i = 0; i < arr.leng原创 2021-03-24 22:13:47 · 1555 阅读 · 0 评论 -
快速排序算法和JAVA实现
快速排序排序思想:通过一趟排序,将倒排序的序列分成两部分,其中一部分均比另一部门小,然后再对这两部分进行下一趟排序,以达到整个序列有序平均时间复杂度: O(nlog2(n)),n*log以2为底的n最坏情况下是:O(n^2) ,n的平方排序流程首先设定一个分界值,通过该分界值将数组分成左右两部分将大于或等于分界值的数据集中到数组右边,小于分界值的数据集中到数组的左边。此时,左边部分中各元素都小于分界值,而右边部分中各元素都大于或等于分界值(具体看怎么分)然后,左边和右边的数据可以独立排序。对原创 2021-03-18 23:36:57 · 1814 阅读 · 0 评论