【数据结构与算法】【简介】数据结构到底是什么
2017-11-01 19:30
253 查看
一般我们主要研究他们以结构为单位(就是结点)的增加/删除/修改/检索(查询)四个操作(为什么有这样的操作,我在下面说到),我们一般把“增加/删除/修改”都把它称为更新,对于一个结点,若要进行更新一类的操作比如:删除,对于顺序表来说是使用下标访问方式,那么我们在删除了一个元素后需要将这个元素后的所有元素后的所有元素全部向前移动,这个时间是对于越长的顺序表,时间越长的,而对于链表,没有顺序的概念,其删除元素只需要将前一个结点的指针指向被删除点的下一个结点,将空间使用free()函数进行释放,还原给操作系统。当执行检索操作的时候,由于顺序表直接使用下标进行随机访问,而链表需要从头开始访问一一匹配才可以得到使用的元素,这个时间也是和链表的结点个数成正比的。所以我们每一种数据结构对于不同的算法会产生不同的效果,各自没有绝对的好,也没有绝对的不好,他们都有自己的应用价值和方式;这样我们就可以在实际的项目开发中,对于内部的算法时间和空间以及项目所能提供的硬件能力进行综合评估,以让自己的算法能够更加好。
在这里只提到了基于数据结构的一个方面就是:速度,其实算法的要素还应该包括:稳定性、健壮性、正确性、有穷性、可理解性、有输入和输出等等
相关文章推荐
- 【数据结构与算法】【简介】数据结构到底是什么
- 【数据结构与算法】【简介】数据结构到底是什么
- 【数据结构与算法】【简介】数据结构到底是什么
- 【数据结构与算法】【简介】数据结构到底是什么
- 【数据结构与算法】【简介】数据结构到底是什么
- 【数据结构与算法】【简介】数据结构到底是什么
- 【数据结构与算法】【简介】数据结构到底是什么
- 数据结构——图的简介及概念
- Hive 中的复合数据结构简介以及一些函数的用法说明
- 数据结构之链表与数组(-)——数组和链表的简介
- 数据结构(简介)
- Redis 数据结构简介 4000
- Redis 数据结构简介
- 数据结构图文解析之:栈的简介及C++模板实现
- Hive 中的复合数据结构简介以及一些函数的用法说明
- 数据结构(逻辑结构,物理结构,特点) C#多线程编程的同步也线程安全 C#多线程编程笔记 String 与 StringBuilder (StringBuffer) 数据结构与算法-初体验(极客专栏)
- 原 Hive 中的复合数据结构简介以及一些函数的用法说明
- 数据结构之算法简介
- 数据结构(一)——数据结构简介
- 数据结构——简介