数据结构起源?
什么是数据结构? 书上给的定义是:
数据结构是研究非数值计算的程序设计问题中的操作对象,以及他们之间的关系和操作的相关问题的学科。(太抽象了……哥打完这一段话楞了半天,没反应过来……)
这个定义其实挺复杂抽象的,下面展示我的定义:
对,你没看错。数据结构其实就是一本兵法,这本兵法大约讲了三件事
1 每个兵怎么做?——(操作对象)
2 阵法怎么排——(他们之间的关系)
3 仗怎么打——(操作)
基本术语
我们这里讲三个术语:数据,数据元素,数据项
大约就是各种东西都可以是数据,数据里面独立的存在叫做元素,元素有很多基本单位组成,叫做项
来张图:故事这样子:刘备率领关张赵马黄五路大军进攻洛阳。大军就是数据,每路军马都是元素,里面的士兵甲乙丙丁就是项。
物理结构和逻辑结构
逻辑结构:数据元素之间的相互关系
啥叫相互关系?其实就是上文的排兵布阵:
1 集合结构:(没有派兵布阵)元素除了属于同一个集合之外没有关系
2 线性结构:(一字长蛇阵)
3 树形结构:(雁行阵)
4 网状结构:(八卦阵)
物理结构
就是计算机存储数据的方式,一般有两种
1 链式结构,随机存放,优点是存取方便,麻烦是没能随机访问
2 顺序结构,按顺序排放,访问方便,存取复杂
这两种方法的区别可以用唐宋的军队建设来做比较:
唐朝军队本地人在本地当兵,将士熟悉,战斗力强劲,可是也因为本地人,牵一发而动全身,容易结党营私甚至造反
宋朝军队是本地人去外地当兵,将士之间相互不熟悉,不容易结党营私,更不用说造反了,可是反过来说,因为不熟悉,战斗力弱,抵抗不了外族入侵……
时间: 2024-10-28 20:41:46