您的位置:首页 > 理论基础 > 数据结构算法

数据结构分类

2016-03-12 09:24 225 查看
数据元素相互之间的关系称为结构。有四类基本结构:集合、线性结构、树形结构、图状结构;

集合结构:除了同属于一种类型外,别无其它关系

线性结构:元素之间存在一对一关系常见类型有: 数组,链表,队列,栈,它们之间在操作上有所区别.例如:链表可在任意位置插入或删除元素,而队列在队尾插入元素,队头删除元素,栈只能在栈顶进行插

入,删除操作.

树形结构:元素之间存在一对多关系,常见类型有:树(有许多特例:二叉树、平衡二叉树、查找树等)

图形结构:元素之间存在多对多关系,图形结构中每个结点的前驱结点数和后续结点多个数可以任意
所谓的基本算法应该是指:

一、排序算法

1、有简单排序(包括冒泡排序、插入排序、选择排序)

2、快速排序,很常见的

3、堆排序,

4、归并排序,最稳定的,即没有太差的情况

二、搜索算法

最基础的有二分搜索算法,最常见的搜索算法,前提是序列已经有序

还有深度优先和广度有限搜索;及使用剪枝,A*,hash表等方法对其进行优化。

三、当然,对于基本数据结构,栈,队列,树。都有一些基本的操作

例如,栈的pop,push,队列的取队头,如队;以及这些数据结构的具体实现,使用连续的存储空间(数组),还是使用链表,两种具体存储方法下操作方式的具体实现也不一样。

还有树的操作,如先序遍历,中序遍历,后续遍历。

当然,这些只是一些基本的针对数据结构的算法。

而基本算法的思想应该有:

1、回溯

2、递归

3、贪心

4、动态规划

5、分治

有些数据结构教材没有涉及基础算法,lz可以另外找一些基础算法书看一下。有兴趣的可以上oj做题,呵呵。算法真的要学起来那是挺费劲。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: