什么是数据结构
1.数据结构的有关定义

(1)数据结构:是带有结构数据元素的集合
(2)数据:是客观事物的数值、字符以及能输入机器且能被处理的各种符号的集合
                   编译                                   链接
          源程序(.c)--------->目标程序(.obj)---------->可执行程序(.exe)
(3)数据对象:是性质相同的数据元素的集合
(4)数据类型:一组性质相同的值的集合以及定义在这个值的集合上的一些操作的总称
                      int:[-32767~+32768]   以及在他们身上的加、减、乘、除、取余操作

(5)抽象数据类型:int、char、float、double、表、队、栈、图、窗口
2.数据结构需要学习3个方面:

(1)数据元素之间的关系:逻辑结构
(2)数据在计算机中的存储方法:物理结构
(3)作用于数据结构上的运算:算法

逻辑结构:

(1)集合结构:仅属于同一个集合
  (2)线性结构:1对1
  (3)树型结构:1对多
  (4)图型结构:多对多


物理结构:

(1)顺序存储结构
  (2)链式存储结构

3.算法:是规则的有限集合,为了解决特定的问题而产生一系列的操作

4.算法的特性:
(1)有限性:在有限步骤内完成
(2)确定性:每个步骤必须有确定的含义,不可以有二义性
(3)输入:有多个或0个输入
(4)输出:至少有一个或多个输出
(5)可行性:操作通过已实现的基本运算执行有限次而完成
5.算法的要求:(1)算法正确性 (2)可读性 (3)健壮性(输入离谱的值,看他容不容易被干扰) (4)高效和低内存占用

数据结构——什么是数据结构?相关推荐

  1. python数据结构推荐书-关于数据结构,有哪些不错的参考书推荐?

    学习编程,数据结构是你必须要掌握的基础知识,那么数据结构到底是什么呢? 其实数据结构就是用来描述计算机里存储数据的一种数学模型,因为计算机里要存储很多乱七八糟的数据,所以也需要不同的数据结构来描述. ...

  2. 你真的懂redis的数据结构了吗?redis内部数据结构和外部数据结构揭秘

    Redis有哪些数据结构? 字符串String.字典Hash.列表List.集合Set.有序集合SortedSet. 很多人面试时都遇到过这种场景吧? 其实除了上面的几种常见数据结构,还需要加上数据结 ...

  3. 数据结构:线性数据结构(1)-栈(栈,队列,deques, 列表)

    栈,队列,deques, 列表是一类容器,他们数据项之间的顺序由添加或删除的顺序决定,一旦一个数据项被添加,它相对于前后元素一直保持该位置不变.注入此类的数据结构称为线性数据结构. 栈 栈(栈,队列, ...

  4. 【数据结构与算法 - 数据结构基础】什么是数据结构?

    [数据结构与算法 - 数据结构基础]什么是数据结构? 文章目录 [数据结构与算法 - 数据结构基础]什么是数据结构? 1 数据结构包含的三个方面 1.1 数据的逻辑结构 1.1.1 线性结构 数组[A ...

  5. 数据结构系列-初识数据结构

    介绍 数据结构的基本信息 数据:是客观事物的符号表示,是所有能输入到计算机中并被计算机程序处理的符号的总称.如:字符串,实数整数.... 数据元素:是数据的基本单位,在计算机中通常被作为一个整体进行考 ...

  6. python数据结构算法_数据结构与算法(Python)

    数据结构与算法(Python) Why? 我们举一个可能不太恰当的例子: 如果将最终写好运行的程序比作战场,我们码农便是指挥作战的将军,而我们所写的代码便是士兵和武器. 那么数据结构和算法是什么?答曰 ...

  7. 数据结构和非数据结构详解

    在提到数据结构和非数据结构时,好多人都有这样的意识,概念可能说不上来,接下来就来说说结构化数据和非结构化数据的概念以及不同: 结构化数据.非结构化数据是对存储形式的一种数据类型分析,有助于企业细分行业 ...

  8. 数据结构开山篇——数据结构和算法的基本概念

    绪论 文章目录 绪论 为甚要学习数据结构? 数据结构研究的内容 计算机进行数值计算的研究过程 计算机如何进行非数值运算 基本概念和术语 数据 数据元素 数据项 数据对象 数据构成 数据结构 数据类型 ...

  9. C语言数据结构-第一讲-数据结构基础概念-电大

    第一讲数据结构基础概念内容简介 数据是表征客观事物的可记录可识别的符号集合.数据是信息处理的核心基础. 本讲主要介绍了与数据结构有关的基本概念术语: l       数据 l       数据元素 l ...

  10. 线性数据结构和非线性数据结构(java版)

    文章目录 线性数据结构和非线性数据结构 数据结构 非线性结构 稀疏Sparsearray 数组 队列 数组模拟队列 数组模拟环形队列 链表 单链表 双向链表 约瑟夫问题 栈 数组模拟栈 使用栈完成表达 ...

最新文章

  1. Easy h-index
  2. C++利用双哈希表实现存储机制hash table的算法(附完整源码)
  3. CentOS下Redis 2.2.14安装配置详解
  4. 开源标准数据集 —— mnist(手写字符识别)
  5. java 中button和jbutton输出的按钮不一样_Java学习教程(基础)--Java开发环境搭建
  6. CentOS 下安装配置mongodb
  7. MATLAB实现高斯-克吕格投影反算
  8. AtCoder Beginner Contest 162 D.RGB Triplets
  9. 地图开发实战案例:高德地图弧线连接线标注
  10. Hololens学习(一)安装 部署Hololens开发环境
  11. jBPM4的PVM实现解析
  12. Alienware Area-51M 安装Win10+Ubuntu18.04 双系统
  13. 安卓多台手机之间屏幕同步与pc通过adb控制手机
  14. 【知识总结】分块和值域分块
  15. 看完知乎轮子哥的编程之路,我只想说,收下我的膝盖...
  16. php 字符串中英文混合截取,PHP截取中英混合的字符串
  17. SpringBoot之配置文件,带你全面掌握高级知识点
  18. AI_综述:3D目标检测于RGB-D(Object detection in RGB-D images)
  19. gdb中文乱码_关于中文和乱码
  20. 【图像识别】基于BP神经网络和RGB颜色空间实现人民币识别系统matlab代码

热门文章

  1. 都市丽人“正青年”设计大赛结果出炉 感召中国新生设计力量
  2. 推荐1位AI产品经理求职信息(企业方可要简历),新增3个JD(共计59个、AI PM可内推)...
  3. 存储卡的相关标准.CF.SD.SDHC.MMC.TF
  4. java.io.NotSerializableException错误解决方法
  5. 计算机系统--机器指令与汇编
  6. 硬盘S.M.A.R.T. status Failing
  7. CAD在画线的过程中显示长度和角度
  8. 山东大学项目实训——地图圈系统——微信小程序(18)
  9. -webkit-touch-callout: none;禁止ios弹出菜单,长按图片保存到手机时
  10. cpu计算速度排行榜_中央处理器cpu性能排名