严版数据结构总结--绪论

  • 一、绪论
    • 1.1什么是数据结构
    • 1.2基本概念和术语
    • 1.3抽象数据类型的表示与实现
    • 1.4算法与算法分析

抱着试一试的心态在CSDN上写博客,记录下我对严版数据结构的粗浅认识,这样一是帮助我再次复习下书本,二是圆我一个一直以来想要写点东西的愿望(毕竟我一个跨考党除了这些什么也不会),好废话不多说进入今天的正题数据结构的绪论总结。

一、绪论

1.1什么是数据结构

计算机解决具体问题:
分析问题,提取操作对象及之间关系–>抽象化数学模型–>设计算法–>编程–>测试,调整

数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间关系和操作等的学科。

书中写了一堆数据结构的发展史,直到现在“数据结构”已成为一门综合性的专业基础课,介于数学,计算机硬件,计算机软件三者之间的一门核心课程。

1.2基本概念和术语

数据是对客观事物的符号表示,计算机科学中是指所有能输入到计算中并被计算机程序处理符号的总称。
数据元素是数据的基本单位,一个数据元素可由若干个数据项组成。数据项是数据不可分割的最小单位。
eg:一本书的书目信息(数据元素)–>书名、作者、出版社(数据项)
数据对象是性质相同数据元素的集合,是数据元素的子集。
eg:数据={数据对象1,数据对象2,数据对象3}
数据结构是相互之间存在一种或多种特定关系的数据元素的集合。(无公认定义,严版的简单解释)
a.集合 除了“同在一个集合”关系外,别无其他关系。
b.线性结构 “一对一”
c.树形结构 “一对多”
d.图状结构或网状结构 “多对多”
数据结构形式定义:(二元组)
data_structrue=(D,S)
D是数据元素的有限集,S是D上关系的有限集。
数据类型(data type):是一个值的集合和定义在这个值集上的一组操作的总称。
抽象数据类型(abstract data type):简称ADT,是指一个数学模型以及定义在该模型上的一组操作。
其特征是使用与实现分离,实行封装和信息隐蔽。
定义:
ADT抽象数据类型名{
数据对象:<数据对象的定义>
数据关系:<数据关系的定义>
数据操作:<基本操作的定义>
}ADT抽象数据类型名

1.3抽象数据类型的表示与实现

通过固有数据类型来表示和实现,即利用处理器中已存在的数据结构类型来说明新的结构,用已实现的操作来组合新的操作。

1.4算法与算法分析

算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一天指令表示一个或多个操作。
特性:有穷性、确定性、可行性、输入、输出。
算法设计的要求:正确性、可读性、健壮性、效率与低存储量需求
时间复杂度以研究此问题的基本操作重复执行的次数作为算法的时间度量
空间复杂度若额外空间相对于输入数据量来说是常数,则称此算法为原地工作。

严版数据结构总结--绪论相关推荐

  1. 严版数据结构(第一章)

    1.1 什么是数据结构 数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作等的学科. 1.2 基本概念和术语 数据:所有能输入计算机中处理的符号的总称.数据元素:** ...

  2. C/C++版数据结构之链表三

    今天来讨论下链表中的双向链表. 双向链表: 概念:在双向链表中,结点除含有数据域外,还含有两个指针域:一个存储直接后继结点的地址,称为右链域:另一个存储直接前驱结点的地址,称为左链域. typedef ...

  3. JS版数据结构第三篇(链表)

    链表分为单链表,双链表,以及环形链表,我将分三个模块分别介绍,并有相应的题目对应讲解. 单链表 定义 还是按照老规矩先看一下百度百科对单链表的定义 根据以上文字我们可以得出 单链表是一种链式的数据结构 ...

  4. C++版数据结构继承关系图

    文章目录 1 C++版数据结构继承关系图 1 C++版数据结构继承关系图 http://www.plantuml.com/plantuml/png/RP0nJaCn38Ptd-AfUs_0K4JPAW ...

  5. 【数据结构】绪论部分

    今天由我来跟大家讲一下数据结构的绪论部分吧.数据结构整体复习主要靠理解.理解了学习起来其实是很轻松的事情,学进去了你也会发现很好玩.这篇只是个结构概括,理解就行. 1.1 基本概念 1.数据:即信息. ...

  6. java 数据结构_Java版-数据结构-队列(数组队列)

    前言 看过笔者前两篇介绍的 Java版数据结构 数组和 栈的盆友,都给予了笔者一致的好评,在这里笔者感谢大家的认可!!! 由于本章介绍的数据结构是 队列,在队列的实现上会基于前面写的 动态数组来实现, ...

  7. 严版快速排序Partion方法

    严版快速排序Partion方法 @(算法学习) int Partion(int A[], int low, int high) {int pivot = A[low]; // 第一个元素设为pivot ...

  8. java循环队列_Java版-数据结构-队列(循环队列)

    前情回顾 在上一篇,笔者给大家介绍了数组队列,并且在文末提出了数组队列实现上的劣势,以及带来的性能问题(因为数组队列,在出队的时候,我们往往要将数组中的元素往前挪动一个位置,这个动作的时间复杂度O(n ...

  9. Android版数据结构与算法汇总十二章

    Android版数据结构与算法(一):基础简介 https://www.cnblogs.com/leipDao/p/9140726.html Android版数据结构与算法(二):基于数组的实现Arr ...

最新文章

  1. python训练数据集_Python——sklearn提供的自带的数据集
  2. Toad 补充与培训 常用菜单
  3. android+busybox+编译,Android版busybox编译
  4. oracle dd if=/dev/zero of=/dev,【转】dd if=/dev/zero of=的含义是什么?Linux 下的dd命令使用详解...
  5. Unix网络编程 chart
  6. python与excel-Python和Excel终于可以
  7. 最小生成树详细讲解(Prime算法+Kruskalsuanfa)
  8. 阿帕奇服务器查看本地网页,如何在Apache Web服务器上查看当前连接?
  9. 图解: 线程状态转换(线程生命周期这一篇够用了)
  10. 使用网络数据采集的好处
  11. 华师大 OJ 3036
  12. win2003终端服务器超出了最大允许连接数解决方案
  13. mysql sumif函数的使用方法_MySQL与EXCEL sum sumif sumifs 函数结合_品牌汇总_20161101
  14. 定时删除微信文件夹中重复文件
  15. 时间格式转化日期比较指定日期YY-MM 的前某个月
  16. HTML+JS+CSS+xml快速入门
  17. 计算机的键盘分别代表什么,键盘中的三个指示灯分别代表什么意思
  18. android 清华镜像,清华镜像网站下载android源码并编译
  19. 举个栗子!Tableau 技巧(202):用参数为图表设置开关按钮
  20. 【资源分享】疫情居家一个月,精心整理了一个PPT资源社区(含模板-资源-高级技巧)

热门文章

  1. 批量抓取微信朋友圈 Java_微信朋友圈转疯了(golang写小爬虫抓取朋友圈文章)...
  2. ubuntu 扩充交换空间
  3. 采用 redis主从 + 哨兵(sentinel) + vip漂移搭建一套redis高可用集群
  4. 看点直播抓取视频回放链接
  5. 线稿上色V3(比V2差别在于这个参考图的处理方式),并且更好用哦
  6. m1/m1Pro/m1Max芯片下载win11-arm镜像
  7. name '__file__' is not defined
  8. 手握13本书、老司机超出120年经验的公众号
  9. 用指向指针的指针方法对n个整数排序输出
  10. has been blocked by CORS policy: Response to preflight request doesn‘t pass access control