Mysticbinary

DataStructure Preview


如果说在软件应用层的数据库类型有:SQL、MongoDB、Excel ...
那么在编程语言层的数据库就应该是各种数据结构(一个类比),只不过这些数据库不会把数据存储到硬盘,只存储在内存而已。

计算机的各种数据结构,如数组、链表、字典......等,本质上都是通过操作底层硬件资源比如内存来实现的。它们通过不同的组织方式和算法,使得数据的存储和处理更加高效,以适应不同的应用场景和需求

虽然已经存在的数据结构类型和种类很多,但他们的基础共性都是一样的,都必然的存在:

不同的数据结构的差异,是根据不同的应用场景和需求来改变它的内部组织方式和算法,下面我将逐一介绍主流的数据结构的特点和示例图。

Why is it important?

数据结构不只是用于组织数据,还会极大的影响代码运行速度。因为数据结构的不同,程序的运行速度会相差几个数量级。 如果你写的程序要处理大量的数据,或者要让成千上万的人同时使用,那么你采用何种数据结构,将决定它是能够运行,还是会因为不堪重负而崩溃。

一旦对各种数据结构有了深刻的理解,并明白它们对程序性能方面的影响,你就能写出快速而优雅的代码,从而使软件运行得快速且流畅。当然,你的编程技能也会更上一层楼。

————《秒懂算法:用常识解读数据结构》引自 第 1 章 数据结构为何重要

检验算法程序的好坏标准
https://www.cnblogs.com/mysticbinary/p/17947780

线性表

如果要对众多的数据结构进行分门别类,那么可以大致划分为线性表非线性表两大类。

数组

Hash

Hash working principle
https://www.cnblogs.com/mysticbinary/p/17727764.html

Map

Map的特性(有序和无序)讨论
https://www.cnblogs.com/mysticbinary/p/17914324.html

链表

队列

堆栈

Recursion Function 递归和栈的笔记
https://www.cnblogs.com/mysticbinary/p/17945412

堆、队列数据结构 Primary
https://www.cnblogs.com/mysticbinary/p/17800140.html

非线性表

二叉树 Binary tree
https://www.cnblogs.com/mysticbinary/p/17952793

Trie Tree
https://www.cnblogs.com/mysticbinary/p/18001141

Some thoughts about Graph
https://www.cnblogs.com/mysticbinary/p/17952853

图结构 Graph primary
https://www.cnblogs.com/mysticbinary/p/18112092

图论之最短距离 Dijkstra算法入门
https://www.cnblogs.com/mysticbinary/p/17948673

posted on 2024-01-14 16:34  Mysticbinary  阅读(1)  评论(0编辑  收藏  举报

导航