首页 > 代码库 > 涂鸦数据结构2 基本知识

涂鸦数据结构2 基本知识

数据结构起源?

什么是数据结构? 书上给的定义是:

数据结构是研究非数值计算的程序设计问题中的操作对象,以及他们之间的关系和操作的相关问题的学科。(太抽象了……哥打完这一段话楞了半天,没反应过来……

这个定义其实挺复杂抽象的,下面展示我的定义:

技术分享

对,你没看错。数据结构其实就是一本兵法,这本兵法大约讲了三件事

1 每个兵怎么做?——(操作对象)

2 阵法怎么排——(他们之间的关系)

3 仗怎么打——(操作)

基本术语

我们这里讲三个术语:数据,数据元素,数据项

大约就是各种东西都可以是数据,数据里面独立的存在叫做元素,元素有很多基本单位组成,叫做项

技术分享

来张图:故事这样子:刘备率领关张赵马黄五路大军进攻洛阳。大军就是数据,每路军马都是元素,里面的士兵甲乙丙丁就是项。

技术分享

物理结构和逻辑结构

逻辑结构:数据元素之间的相互关系

啥叫相互关系?其实就是上文的排兵布阵:

1 集合结构:(没有派兵布阵)元素除了属于同一个集合之外没有关系

技术分享

2 线性结构:(一字长蛇阵)

技术分享

3 树形结构:(雁行阵)

技术分享

4 网状结构:(八卦阵)

技术分享

物理结构

就是计算机存储数据的方式,一般有两种
1 链式结构,随机存放,优点是存取方便,麻烦是没能随机访问
2 顺序结构,按顺序排放,访问方便,存取复杂

这两种方法的区别可以用唐宋的军队建设来做比较:
唐朝军队本地人在本地当兵,将士熟悉,战斗力强劲,可是也因为本地人,牵一发而动全身,容易结党营私甚至造反
宋朝军队是本地人去外地当兵,将士之间相互不熟悉,不容易结党营私,更不用说造反了,可是反过来说,因为不熟悉,战斗力弱,抵抗不了外族入侵……
技术分享















涂鸦数据结构2 基本知识