(二)算法基础-数据结构简介

目录算法

  1. 什么是数据结构?
  2. 常见的数据结构有哪些?
  3. 数据结构的逻辑结构分类有哪些?
  4. 数据的存储结构有哪几种?

一、什么是数据结构?

通常来讲,用计算机解决一个具体问题时,大体须要以下几步:数组

  • 首先,要从具体问题抽象出适当的数学模型;
  • 而后,设计一个解此数学模型的算法;
  • 而后,再编写程序;
  • 最后,进行测试、调整直至最终解决此问题。

其中寻找数学模型的实质就是分析问题,从中提取操做的对象,并找出这些操做对象之间含有的关系,而后用数学语言加以描述。面对一些简单的场景也许只须要一个数学方程就能解决,可是面对一些复杂的场景,如须要统计图书馆书目信息、借还信息等这些非数值计算问题的数学模型,就再也不是一个简单的数学方程了,而是像表、树和图之类的数据结构。
所以,简单来讲,数据结构是一门研究非数值计算的程序设计问题中计算机的操做对象(这称之为数据),而且这些数据之间有着某种关系(这种关系就是结构)。数据结构

二、常见的数据结构

  • 字符串
  • 数组
  • 线性表
  • 队列

三、逻辑结构分类

  • 集合结构:一堆数据中惟一的关系就是同属某一个集合;
  • 线性结构:结构中的数据元素之间存在一个接着一个的关系;
  • 树形结构:结构中的数据元素之间存在一个对多个的关系;
  • 图形结构(或网状结构):结构中的数据元素存在多个对多个的关系;

逻辑结构图形表示,以下: 学习

四、存储结构(物理结构)

数据在计算机中的表示(或称映像)称为物理结构,又称为存储结构。在计算机中表示数据的最小单位是一个二进制位,叫作(bit)。在计算机中,咱们能够用一个由若干位组合起来造成一个位串来表示一个数据元素(如用32位即4个字节表示一个整数元素,8位即1个字节表示一个字符)。
数据元素之间的关系在计算机中有两种不一样的表示方式:顺序映像非顺序映像,并由此得出两种不一样的存储结构:顺序存储结构非顺序存储结构。顺序存储是在连续存储空间内,元素之间借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系(如图4-1,一个整型数组的两个元素11和12在内存中的位置是连续的,0010存储的是11,0014存储的是12)。而非顺序存储是借助指向元素地址的指针来表示元素之间的关系(如图4-2,一个链表里的两个元素a以及元素b,在1110存储的是元素a,a后面存储的是指向下一个元素b的地址的指针)。测试

总结

数据结构是咱们研究问题的基础数据模型,既包含了问题对象的结构也包含了问题对象之间的关系。清楚的知道咱们经常使用的数据结构,能为咱们往后思考以及解决程序问题打下坚实的理论基础。设计

本文为原创内容,供学习参考以及总结概括使用,若文章中有引用到涉及版权相关的图片,请告知!
勘误,请留言!指针

相关文章
相关标签/搜索