数据结构学习一——概述

来源:互联网 发布:淘宝音乐代码在线生成 编辑:程序博客网 时间:2024/06/08 16:29
如果把程序设计看作类比成和武术一样的技能,那么我们这些做应用层的程序员多么像武术套路的运动员在那一味卖弄花拳绣腿,这样或许使您有一份工作。但是请思考这样一个事实,金庸小说中的张无忌能够在短短几个时辰中,掌握乾坤大罗伊与太极拳,少林寺的扫地僧看试貌不惊人,但是身怀绝技,这其中的奥秘是什么,就是他掌握深厚的内功和算法。而程序员的内功和算法是什么了,就是数据结构与算法。你想短短几天掌握一门语言吗?你想撬开ai迷宫的大门吗?你想成为万人敬仰的编程高手吗?快来学习数据结构与算法吧。
那什么是数据结构与算法。算法估计我们到经常采用,无论是排序算法,还是查找算法我们都经常使用了。算法就是计算机运行程序的方法。这个我们很好理解。但是了为什么要学习数据结构。这里请设想这样几个场景,你玩王者荣耀时候,怎么吧游戏人物场景有效的翻译成计算机语言,你进行搜索时候,搜索引擎怎么快速的搜索到你需要结果了,这样只有算法是远远不够的。这里需要数据结构成为一座嫁接外部世界与虚拟世界的一座桥梁。数据结构,就是描述数据之间特定的关系。
那数据结构有那些了。一般有四种关系。
①、集合结构
②、线性结构
③、树形结构
④、图形结构
集合结构,如图所示
·

集合结构解释:
集合是标记着具有某些相关联或相互依赖的一系列离散数据。
集合有两个重要的特点:
第一,集合中的数据成员是无序的,如果{1,3},{3,1}都表示同一集合;
第二,每个数据成员在集合中不能重复,仅且只出现一次,如{1,3,1}则不能称之为集合。
线性结构,如图所示:
·

线性结构解释:
线性结构是一个有序数据元素的集合。常用的线性结构有:线性表,栈,队列,双队列,数组,串。

树形结构,如图所示

树形结构的解释:树形结构是一层次的嵌套结构。
一个树形结构的外层和内层有相似的结构, 所以这种结构多可以递归的表示。经典数据结构中的各种树状图是一种典型的树形结构:一颗树可以简单的表示为根, 左子树, 右子树。 左子树和右子树又有自己的子树图形结构,如图所示:



图型结构解释:
图形结构,简称“图”,是一种复杂的数据结构。图形结构中,每个结点的前驱结点数和后续结点数可以任意多个。数据元素间的关系是任意的。其他数据结构(如树、线性表等)都有明确的条件限制,而图形结构中任意两个数据元素间均可相关联。常用来研究生产流程、施工计划、各种网络建设等问题。
这就是数据结构的概述。