(25人评价)
尚硅谷-韩顺平图解Java数据结构和算法

尚硅谷-韩顺平图解Java数据结构和算法

价格 免费
会员免费学 加入学习

线性结构:顺序存储结构和链式存储结构

 

线性结构包括:数组,队列、链表、栈

[展开全文]

水浒英雄排行榜:

head节点1.不存放具体的数据2.作用就是标识单链表头next

[展开全文]

队列FiFO

数组模拟队列思路:

队列本身是有序列表,若使用数组的结构来存储队列的数据,其中maxSize是该队列的最大容量.

因为队列的输出,输入是分别从前后端来处理,因此需要两个变量front及rear分别记录前后端的下标,front会随着数据输出(取值)而改变,而rear则是随着数据输入(有效范围内存值)而改变.

 

[展开全文]

排序算法:

1.内存排序

  • 插入排序分为直接插入排序,希尔排序
  • 选择排序分为简单选择排序,堆排序
  • 交换排序分为冒泡排序,快速排序
  • 归并排序
  • 基数排序

 

[展开全文]

数据模拟队列:

当我们将数据存入队列时称为"addQueue",添加队列的处理需要有两个部署:

1.将尾指针往后移:rear+1,当队列是空的时候或者没有满的时候就可以添加,例如条件:front==rear是空

2.若尾指针rear小于队列的最大下标maxSize-1,则将数据存入rear所指的数组元素中,否则无法存入数据. rear == maxSize-1 '队列满'

[展开全文]

二维数据转稀疏数组的思路:

1.遍历 原始的二维数组,得到有效数据的个数sum

2.根据sum就可以创建稀疏数组sparseArr int[sum+1][3]

3.将二维数组的有效数据存入到稀疏数组

 

稀疏数组转原始的二维数组的思路:

1.先读取稀疏数组的第一行,根据第一行的数据,创建原始的二维数组,比如上面的chessArr2=int[11][11]

2.再读取稀疏数组后几行的数据,并复制给原始的二维数组即可

[展开全文]

稀疏数组的处理方法是:

1.记录数组一共有几行几列,有多少个不同的值

2.把具有不同值的元素的行列记录在一个小规模的数组中,从而缩小程序的规模

[展开全文]

kmp 算法

分治算法

回溯算法

深度优化遍历算法 + 贪心算法

 

算法很重要,算法很有意思,算法有一定困难。 

 

 

 

[展开全文]
业界大牛亲自授课
前沿技术实时更新
足不出户学编程
关注尚硅谷微信 一键下载全部视频教程

关注尚硅谷微信

一键下载全部视频教程