软考——(2)数据结构

来源:互联网 发布:算法必须有输出 编辑:程序博客网 时间:2024/05/17 06:10

      数据结构,英文名字叫做Data Structure。说到数据结构,先要说一下数据是什么。数据的含义十分广泛,它并不仅仅指文字记录,它还可以是语音、图像、符号、视频等等。

      我们可以读取这些数据,那么这些数据在计算机中又是如何存储和组织的呢,这就是我们要说的数据结构。



上面的思维导图是按照数据结构的分类及处理画的,其实二者并不是孤立的。在查找和排序中,也可以看到线性、树、图的影子。也就是在数据结构的逻辑存储结构中进行查找和排序等的运算,它们都是紧密结合在一起的。

1)线性

一个一个的元素线性的排列,如下图:


这种结构的存储方式有两种:顺序存储和链表存储。

顺序存储:


和上面的线性逻辑结构一样,顺序存储中一个个元素有序的排列着。

链表存储:


链表存储中有一条“链”将一个个的元素连接起来,而每个元素的位置可以不邻接。

2)树


跟现实生活中的树一样,树形结构有且有一个根结点。树的相关术语很多,但都很容易理解,比如:结点的度,树的度,叶子,层次等等。

由于树的结构十分复杂,我们通常研究的最多的是二叉树。但要注意的是,二叉树并不是树的特殊形式。对比上下两张图片,树中的结点的最大度数没有限制,但二叉树结点的最大度数为2.在树中,结点没有左右之分;而二叉树有区分。


树的存储结构类似于索引存储结构。


3)图

与二叉树相比,树的结构要复杂一些,而图就比树更要复杂了。


图中的任何两个结点都可以相邻接。与图类似的存储结构是散列表,即哈希。

了解了这三个简单的逻辑结构,数据结构就算有了一个初步的认识了,对于之后的算法、查找、排序等,就比较轻松了。

      对于刚接触数据结构的人来说,通常会有这么一个疑问,为什么要学数据结构,它跟算法又有什么关系呢?

      瑞士计算机科学家Niklaus Wirth1976年出版的一本书的书名叫做“程序设计 算法 数据结构”,这句经典名言就体现了数据结构的重要性。数据结构,以及让我们十分头疼的算法并不是一门教你编程的课,它们可以脱离任何的计算机程序设计语言,而只需要从抽象意义上去概括描述。

      打一个很形象的比喻:程序设计就像盖房子,数据结构是砖、瓦,而算法则是设计图纸。你若想盖房子首先必须要有原材料(数据结构),但这些原材料并不能自动地盖起你想要的房子,你必须按照设计图纸(算法)一砖一瓦地去砌,这样你才能拥有你想要的房子。我们今天要说的数据结构正是程序设计这座大厦的基础,只有打好了基础,才有资格谈设计、谈构架。


1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 衣服用84洗掉色怎么办 被84褪色的衣服怎么办 衣服被84烧红了怎么办 84溅到衣服上边怎么办 84把衣服泡花了怎么办 衣服颜色洗旧了怎么办 蒙版画笔用不了怎么办 眼睛小血管破裂出血怎么办 雅漾喷头坏了怎么办 一夜都是浅睡眠怎么办 注塑机合不了膜怎么办 吸了塑料烧焦味怎么办 热熔的管漏水怎么办 45岁了月经不来怎么办 吃了芒果身上痒怎么办 10个月宝宝上火怎么办 1个月的宝宝上火怎么办 2个月的婴儿上火怎么办 1岁宝宝不吃奶粉怎么办 奶水不够宝宝又不吃奶瓶怎么办 13岁脸上长粉刺怎么办 脸敷面膜过敏了怎么办 婴儿面膜是假的怎么办 一贴面膜就过敏怎么办 一敷面膜就过敏怎么办 敷了面膜后过敏怎么办 脸做面膜过敏了怎么办 二十几年的疤痕怎么办 三星c5听筒坏了怎么办 胖子减肥后皮肤松弛怎么办 小婴儿脸上长癣怎么办 痘痘里面有脓怎么办 牛仔外套买大了怎么办 脸上痘印红红的怎么办 眼罩里的水干了怎么办 面膜水进眼睛里怎么办 面膜用剩的精华怎么办 火山泥面膜边干怎么办 用完撕拉面膜后怎么办 皮肤锁水能力差怎么办 抱枕永久了脏了怎么办