数据结构与算法概述
一、数据结构的概述:
数据结构是对计算机内存中(有时在磁盘中)的数据的一种安排。数据库结构包括数组、链表、栈、二叉树、哈希表等。
二、数据机构的类型及优缺点:
数据机构
优点
缺点
数组
插入快,如果知道下标,可以非常快的存取
查找慢,删除慢,大小固定
有序数组
比无序数组查找快
删除和插入慢,大小固定
栈
提供先进后出的存取方式
存取其他项很慢。
队列
提供先进先出的存取方式
存取其他项很慢
链表
插入快,删除快
查询慢
二叉树
查找、插入、删除都快(如果树保持平衡)
删除算法复杂
红-黑树
查找、插入、删除都快树总是平衡的。
算法复杂
2-3-4树
查找、插入、删除都快树总是平衡的。类似的树对磁盘存取有用
算法复杂
哈希表
如果关键字已知则存取极快。插入快
删除慢,如果不知道关键字,查询慢对存储空间使用不充分。
堆
插入快,删除快、对最大数据项的存取很快
对其他数据项存取慢
图
对现实世界建模
有些算法慢且复杂
三、算法概述:
算法就是对这些结构中的数据进行各种处理。许多算法可以直接适用于某些特殊的数据结构。大多数数据结构都需要知道如何插入一条新的数据项,查找某一特定的数据项,删除某一特定的数据项和访问某一数据结构中的各项数据项,以便于进行显示或其他操作。另外一种重要的算法范畴就是排序。
四、常见的一些排序算法:
简单的排序有 冒泡排序、选择排序、插入排序、对象排序等
利用递归算法的排序 归并排序、三角数字、阶乘、变位字等
高级排序有 希尔排序、划分排序、快速排序、基数排序等