
数据结构和算法
系统了解常见数据结构和算法的本质
怒放de生命2010
态度很重要,方向很重要,方法很重要。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
快速排序算法和原理
文章目录快速排序原理代码快速排序原理它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。在快排的过程中,每一次我们要取一个元素作为枢纽值,以这个数字来将序列划分为两部分。在此我们采用三数取中法,也就是取左端、中间、右端三个数,然后进行排序,将中间数作为枢纽值。最本质的总结:快速排序,说白了就是给基准数据找其正确索引位置的过程.如原创 2021-03-12 14:28:50 · 10599 阅读 · 3 评论 -
LowB三人组--插入排序原理和java实现
文章目录插入排序原理图java实现代码复杂度插入排序原理图https://www.runoob.com/w3cnote/insertion-sort.htmljava实现代码/** * 插入排序 */public class InsertionSortTest { public static void main(String[] args) { int[] arr = {2,4,7,5,3,6,8,9,1}; insertionSort(arr);原创 2021-02-28 21:42:53 · 207 阅读 · 1 评论 -
LowB三人组--选择排序原理和实现
@[快速排序]原理原创 2021-02-25 11:33:46 · 220 阅读 · 0 评论 -
lowB三人组---冒泡排序原理和实现
这里写自定义目录标题原理分析代码如下:算法复杂度原理分析/*** 冒泡排序* 原理: 从下往上排序, 叫做从前往后排序, 如果前面的数比后面的数大,则交换2个数的位置* 元素个数为; N* 外层循环: 比较的总趟数 N-1, 每趟数为: i(从0开始)* 内层循环: 无序区范围大小 N-i-1, 也可以理解为:一趟中比较的次数,注意: 指针指向的数从0开始, 最后一个数据不用比较,* 代码关键点: 趟, 无序区范围* 优化: 如果冒泡排序中的一趟排序没有发生交换,则说明列表已经有序,可以原创 2021-02-24 19:34:26 · 240 阅读 · 0 评论 -
数据结构(8) -- 算法应用实例
文章目录1.最大子列和问题算法1:算法2:算法3:算法4,在线处理:总结:1.最大子列和问题算法1:public class Demo5 { static int[] list = {-2, 11, -4, 13, -5, -2}; //算法1: public static int maxSubseqSum1(int[] list) { int l...原创 2020-02-16 20:24:32 · 338 阅读 · 0 评论 -
数据结构(7)--复杂度的渐进表示法
文章目录渐进表示法不同级别函数的表现渐进分析小窍门渐进表示法不同级别函数的表现渐进分析小窍门完原创 2020-02-08 22:26:51 · 541 阅读 · 0 评论 -
数据结构(6)--什么是好的算法
算法复杂度例子1: 打印1--N递归方式打印循环方式例子2: 求不定多项式什么是好的算法例子1: 打印1–N递归方式打印循环方式例子2: 求不定多项式什么是好的算法完...原创 2020-02-08 12:39:15 · 342 阅读 · 0 评论 -
数据结构(5) -- 算法的定义
算法的定义案例:选择排序案例:选择排序第一趟比较:程序将记录定位在数组的第一个位置,拿第一个数据与后面的每个数据对比,用一个变量mix记录比第一个数小的数据的索引,通过比较不断更新mix,最后得到整个数组中最小的元素的索引,将第一个数与第mix个数交换,则最小数位于数组的其实位置了第二趟比较:程序将记录定位在数组的第二个位置,拿第二个数据与后面的每个数据对比,得到从第二个数据开...原创 2020-02-07 22:41:31 · 235 阅读 · 0 评论 -
数据结构(4) -- 抽象数据类型
文章目录到底什么是数据结构抽象数据类型例子: 矩阵的抽象数据类型定义到底什么是数据结构数据对象在计算机的组织方式数据对象必定与一系列加载其上的操作相关联完成这项操作所用的方法就是算法抽象数据类型例子: 矩阵的抽象数据类型定义类型名称: 矩阵(Matrix)完...原创 2020-02-07 19:46:51 · 553 阅读 · 0 评论 -
数据结构(3) -- 关于算法效率
关于算法效率例子:例子:有2种写法:最容易想到的方法: //方式1: 比较low的写法 private static double getF1(int n, double[] a, double x) { int i; double p = a[0]; for (i = 1; i <= n; i++) { ...原创 2020-02-07 18:41:59 · 243 阅读 · 0 评论 -
数据结构(2) --关于空间使用
关于空间使用例子:例子:我们实现可以有2种方法:public class Demo1 { public static void main(String[] args) { int n = 1000; long startTime = System.currentTimeMillis(); System.out.println(star...原创 2020-02-07 16:13:40 · 244 阅读 · 0 评论 -
数据结构-(1) -- 关于数据组织
文章目录官方定义--没有如何在书架上摆放书操作1:新书怎么插入操作2: 怎么找到某本指定的书官方定义–没有如何在书架上摆放书图书的摆放要使得2个相关操作方便实现:操作1:新书怎么插入操作2: 怎么找到某本指定的书...原创 2020-02-07 15:06:50 · 258 阅读 · 0 评论 -
如何将递归解决方案转换为非递归
https://blog.csdn.net/silver9886/article/details/80895580转载 2019-09-22 10:09:03 · 372 阅读 · 2 评论 -
秒懂 时间复杂度
转载文章一套图 搞懂“时间复杂度”https://blog.csdn.net/qq_41523096/article/details/82142747转载 2019-09-19 08:11:01 · 238 阅读 · 0 评论