码迷,mamicode.com
首页 > 编程语言 > 详细

数据结构和算法

时间:2015-06-07 13:53:34      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:数据   结构   数据结构   算法   

什么是数据结构?

数据结构分为数据和结构。数字、字符、图形、声音等都是数据。结构分逻辑结构和存储结构。逻辑结构就是数据间的抽象化关系。存储结构就是数据在计算机存储器(内存、磁盘)的存储方式。数据结构研究的就是数据如何在计算机内存储的问题。数据结构包括数组、栈、二叉树、哈希表等等。

什么是算法?

算法就是计算机内对给定问题的处理过程,说白了就是对数据结构中的数据进行各种处理,比如对数据排序、查找等。

数据结构和算法的关系?

计算机处理数据的过程:数据的输入—->计算机的处理—>数据输出
对于原始数据如何进行组织,如何在计算机内存储,便于节省空间和计算机处理;如何选择合适的算法提高解决问题的效率和可靠性,都是很重要的,不能孤立讨论。
算法只有在合适的数据结构上才能发挥作用,数据结构的不同,会影响算法的选择和效率。
有科学家这样总结:算法+数据结构=程序

数据结构和算法有什么用?

前面概念有一定了解后,了解一下应用场景。
现实数据存储:
将现实世界的计算机外部的物理实体数据存储在计算机里。比如一条人事档案记录一个真实人的信息。
程序员的工具:
用链表、栈、队列等结构作为工具来简化另一些操作。
对现实世界进行建模:
用数据结构对现实世界进行构造模型。像图,用它表示城市之间的航线、电路的连接等。
大致了解数据结构的特性:

数据结构 优点 缺点
数组 插入快,知道下标可快速存取 查找慢,删除慢,大小固定
有序数组 比无序数组查找快 插入、删除慢,大小固定
后进先出的方式存取 存取其他项很慢 
队列 先进先出的方式存取 存取其他项很慢
链表 插入、删除快 查找慢
二叉树 插入、删除、查找都快(如果树保持平衡) 删除算法复杂
红-黑树 插入、删除、查找都快(树总是平衡的) 算法复杂
2-3-4树 插入、删除、查找都快(树总是平衡的)类似的树对磁盘存储有用 算法复杂
哈希表 如果关键字已知,存取极快,插入快 删除慢,关键字未知,存储慢,对磁盘空间利用不充分
插入、删除快,对最大数据项的存取很快 对其他数据项存取慢
对现实世界建模 有些算法慢且复杂

以上除数组外,其他称为抽象数据结构(ADT)。

数据结构和算法

标签:数据   结构   数据结构   算法   

原文地址:http://blog.csdn.net/zwto1/article/details/46400107

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!