![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Data structure & Algorithms
文章平均质量分 64
数据结构和算法个人笔记
俊c
做一个浪漫的程序猿
展开
-
稀疏数组
1 稀疏数组1.1 实际需求编写的五子棋程序中,有存盘退出和续上盘的功能。因为该二位数组的很多值是默认值0,因此记录了很多没有意义的数据,我们将其转为稀疏数组进行存储。1.2 稀疏数组的应用1.2.1 稀疏数组的处理方法稀疏数组把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模。稀疏数组也是二位数组,行数由原数组的数据决定,列数一般为3列。稀疏数组的第一行记录原数组一共有几行几列,有多少个不为零的值:第一列:原数组的行数第二列:原数组的列数在这里插入图片描转载 2021-01-26 16:10:10 · 97 阅读 · 0 评论 -
ArrayList & LinkedList
通常情况下,ArrayList和LinkedList的区别有以下几点:ArrayList是实现了基于动态数组的数据结构,而LinkedList是基于双向链表的数据结构;对于随机访问get和set,ArrayList要优于LinkedList,因为LinkedList要移动指针;对于新增和删除操作add和remove,LinkedList比较占优势,因为ArrayList要移动数据。⚠️对于1,2点目前绝对,对于第三点,并非绝对,这篇文章通过实验得出更相对(该文章对ArrayList和Linked原创 2021-01-11 17:51:59 · 168 阅读 · 0 评论 -
ADT(Abstract Data Type)
所谓抽象数据类型(Abstract Data Type,ADT)是指这样一种数据类型,它不再单纯是一组值的集合,还包括作用在值集上的操作的集合,即在构造数据类型的基础上增加了对数据的操作,且类型的表示细节及操作的实现细节对外是不可见得。之所以说它是抽象的,是因为外部只知道它做什么,而不知道它如何做,更不知道数据的内部表示细节。这样,即使改变数据的表示和操作的实现,也不会影响程序的其他部分。抽象数据类型可达到更好的信息隐藏效果,因为它使程序不依赖于数据结构的具体实现方法,只要提供相同的操作,换用其他方法实现时原创 2021-01-11 17:52:39 · 713 阅读 · 0 评论 -
Sequential List
https://blog.csdn.net/javazejian/article/details/52953190顺序存储结构底层是利用数组来实现的,而数组可以存储具有相同数据类型的元素集合,如int,float或者自定义类型等,当我们创建一个数组时,计算机操作系统会为该数组分配一块连续的内存块,这也就意味着数组中的每个存储单元的地址都是连续的,因此只要知道了数组的起始内存地址就可以通过简单的乘法和加法计算出数组中第n-1个存储单元的内存地址,就如下图所示:通过上图可以发现为了访问一个数组元素,该.原创 2021-01-11 17:52:28 · 460 阅读 · 0 评论 -
线性结构和非线性结构
线性结构和非线性结构线性结构非线性结构数据结构包括线性结构和非线性结构。线性结构线性结构作为最常用的数据结构,其特点是数据元素之间存在一对一的线性关系。线性表有两种不同的存储结构:#mermaid-svg-E5VoKX11X3qxw3TD .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-E5Vo原创 2021-01-11 17:52:47 · 269 阅读 · 0 评论