![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法与数据结构
文章平均质量分 94
exodus3
活到老学到老
展开
-
尚硅谷算法与数据结构学习笔记07 -- 排序算法2
6、希尔排序6.1、简单插入排序问题我们看简单的插入排序可能存在的问题,数组 arr = { 2, 3, 4, 5, 6, 1 } 这时需要插入的数 1(最小),简单插入排序的过程如下结论: 当需要插入的数是较小的数时, 后移的次数明显增多, 对效率有影响{2,3,4,5,6,6}{2,3,4,5,5,6}{2,3,4,4,5,6}{2,3,3,4,5,6}{2,2,3,4,5,6}{1,2,3,4,5,6}6.2、希尔排序基本介绍希尔排序是希尔(Donald Shell原创 2021-12-27 19:06:59 · 311 阅读 · 0 评论 -
尚硅谷算法与数据结构学习笔记06 -- 排序算法
1、排序算法介绍1.1、排序算法的简介排序也称排序算法(Sort Algorithm), 排序是将一组数据, 依指定的顺序进行排列的过程。1.2、排序算法的分类内部排序:指将需要处理的所有数据都加载到内部存储器(内存)中进行排序。外部排序法:数据量过大, 无法全部加载到内存中, 需要借助外部存储(文件等)进行排序。常见的排序算法分类2、算法的复杂度2.1、时间复杂度的度量方法事后统计的方法:这种方法可行, 但是有两个问题:一是要想对设计的算法的运行性能进行评测, 需要实际运原创 2021-12-03 21:44:49 · 931 阅读 · 0 评论 -
尚硅谷算法与数据结构学习笔记05 -- 递归
1、递归介绍1.1、递归应用场景看个实际应用场景, 迷宫问题(回溯), 递归(Recursion)1.2、递归的概念简单的说: 递归就是方法自己调用自己,每次调用时传入不同的变量,递归有助于编程者解决复杂的问题,同时可以让代码变得简洁。1.3、递归调用机制打印问题阶乘问题// 阶乘问题public static int factorial(int n) { if (n == 1) { return 1; } else {原创 2021-11-22 20:58:12 · 320 阅读 · 0 评论 -
尚硅谷算法与数据结构学习笔记04 -- 栈
1、栈的基本介绍1.1、栈的实际需求请计算表达式:[7_2_2-5+1-5+3-3] 的值请问: 计算机底层是如何运算得到结果的? 注意不是简单的把算式列出运算,因为我们看这个算式 7 * 2 * 2 - 5,但是计算机怎么理解这个算式的对计算机而言, 它接收到的就是一个字符串, 我们讨论的是这个问题:栈1.2、栈的基本性质栈的英文为(stack)栈是一个先入后出(FILO-First In Last Out)的有序列表栈(stack)是限制线性表中元素的插入和删除只能在线性表的同一原创 2021-11-20 18:09:16 · 810 阅读 · 0 评论 -
尚硅谷算法与数据结构学习笔记03 -- 双向链表
4、双向链表4.1、与单向链表的比较单向链表, 查找的方向只能是一个方向, 而双向链表可以向前或者向后查找单向链表不能自我删除, 需要靠辅助节点 , 而双向链表, 则可以自我删除, 所以前面我们单链表删除时节点, 总是找到 temp ,temp 是待删除节点的前一个节点(认真体会)4.2、链表节点定义在单向链表节点的基础上,增加 pre ,用于指向前一个节点// 定义HeroNode , 每个HeroNode 对象就是一个节点class HeroNode { public int原创 2021-10-21 00:15:55 · 412 阅读 · 0 评论 -
尚硅谷算法与数据结构学习笔记02 -- 单链表
第 4 章 链表1、链表(Linked List)介绍1.1、内存结构内存上来看:链表存储空间不连续(不像数组)1.2、逻辑结构逻辑上来看:链表属于线性结构1.3、链表特点链表是以节点的方式来存储,是链式存储data 域存放数据,next 域指向下一个节点链表分带头节点的链表和没有头节点的链表, 根据实际的需求来确定2、链表应用场景2.1、水浒英雄榜使用带 head 头的单向链表实现【水浒英雄排行榜管理】2.2、链表节点定义no :英雄编号name原创 2021-10-18 23:19:02 · 483 阅读 · 2 评论 -
尚硅谷算法与数据结构学习笔记01 -- 稀疏数组和队列
一、稀疏数组1.1、实际需求编写的五子棋程序中,有存盘退出和续上盘的功能因为该二维数组的很多值是默认值 0 ,因此记录了很多没有意义的数据,我们将其转为稀疏数组进行存储1.2、稀疏数组应用1.2.1、稀疏数组处理方法稀疏数组把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模稀疏数组也是二维数组,行数由原数组的数据决定,列数一般为 3 列稀疏数组的第一行记录原数组一共有几行几列,有多少个不为零的值第一列:原数组的行数第二列:原数组的列数第三列:原数组有多少原创 2021-10-08 23:41:11 · 269 阅读 · 0 评论