数据结构与算法(Java)
Teacher_HENG
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【图解数据结构与算法+LeetCode分类讲解】新课录制中......
数据结构+算法+LeetCode分类讲解!原创 2023-02-19 20:42:26 · 370 阅读 · 0 评论 -
【图解数据结构与算法】视频教程正式上线B站,持续更新中......
本主【图解数据结构与算法(Java语言描述)】 B站传送门 https://www.bilibili.com/video/BV1ea4y1e7v7/原创 2020-05-16 20:08:59 · 1153 阅读 · 0 评论 -
算法(1)排序之选择排序
选择排序核心思路(默认从小到大排序): 每一轮中当前位置不变,当前位置元素挨个和后面元素进行比较,如果前者大后者小,交换元素,接着向后比较 直到每个元素都和后面元素比较完成,结束 选择排序的算法流程: 创建数组(或链表)并初始化数据,数组长度为 n 设定双指针 i 和 j 开始外层循环 i ,i 从角标 0 开始,到 n-1 结束 开始内层循环 j ,j 从 i+1 开始,到 n 结...原创 2019-05-02 16:32:15 · 377 阅读 · 1 评论 -
数据结构(1)线性表的动态数组实现ArrayList
1.何为线性表 首先说什么是线性表 线性表的定义:线性表中数据元素之间的关系是一对一的关系,即除了第一个元素没有前驱,最后一个元素没有后继之外,其余元素既有唯一前驱和唯一后继,如下图所示 搞懂什么是线性表之后,我们再考虑一个问题,线性表能干啥? 手机上的通讯录是不是符合一个线性表的定义? 刺激战场中背包内容是不是符合一个线性表的定义? 学校中的成绩单是不是符合一个线性表...原创 2019-04-28 16:56:38 · 902 阅读 · 2 评论 -
算法(2)排序之冒泡排序
冒泡排序核心思路: 每一个元素 j 和其后面一个元素 j+1 比较,如果前者 j 大则交换,无论交换与否,让后面元素 j+1 何其下一个元素 j+2 接着进行比较 看图说明,不想写流程了 设置指针 i,j ,i 从角标 0 开始,到 n-1 结束,j 每次从 1 开始,到 n-i-1 结束 其实 i 表示的是轮数 第1轮,i 从 0 开始,j 从 0 开始,到 n-i-1(5-0-1...原创 2019-05-02 23:52:28 · 473 阅读 · 0 评论 -
数据结构(2)栈的动态数组实现ArrayStack
栈本身是一种特殊的线性表,我们上一章说到,我们可以在线性表中的任意位置进行增删查改操作,前提是这个位置是存在的。 那么栈又有何特殊性呢?在栈里面,我们只能对其一端进行增删查改的操作,这个端我们称之为栈顶,另一端不进行操作的我们称之为栈底 栈:又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈...原创 2019-04-28 19:55:58 · 506 阅读 · 0 评论 -
数据结构(3)双端栈的动态数组实现ArrayStackDoubleEnd
欢迎来到第三章 在此处稍微回顾一下前两章的内容 在第一章我们从“零”开始实现了一个ArrayList线性表,我把它称之为是一种底层数据结构 在第二章我们用ArrayList实现了一个栈结构ArrayStack,通过底层数据结构的封装,继而产生出了更加高级的数据结构 所以,请大家注意,在数据结构的广袤世界中,高级的数据结构就是这样子由底层数据结构一层一层封装起来的 先比如后面要学的Tr...原创 2019-04-29 17:18:10 · 623 阅读 · 1 评论
分享