02142数据结构导论真题解析_00246国际经济法概论自考

02142数据结构导论真题解析_00246国际经济法概论自考本文为大家提供自考02142数据结构导论串讲笔记(完整版),有需要的同学可以下载文末附件自取。自考02142数据结构导论串讲笔记(完整版)第一张概论1.1引言两项基本任务:数据表示,数据处理软件系统生存期:软件计划,需求分析,软件设计,软件编码,软件测试,软件维护由一种逻辑结构和一组基本运算构成的整体是实际问题的一种数学模型,这种数学模型的建立,选择和实现是数据结构的核心问题。机外表示—-…


Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

本文为大家提供自考02142数据结构导论串讲笔记(完整版),有需要的同学可以下载文末附件自取。

自考02142数据结构导论串讲笔记(完整版)

第一张概论

1.1 引言

两项基本任务:数据表示,数据处理

软件系统生存期:软件计划,需求分析,软件设计,软件编码,软件测试,软件维护由一种逻辑结构和一组基本运算构成的整体是实际问题的一种数学模型,这种数学模型的建立,选择和实现是

数据结构的核心问题。

机外表示 ——逻辑结构 ——存储结构

处理要求 —–基本运算和运算 ——-算法

1.2.1 数据,逻辑结构和运算

数据:凡是能够被计算机存储,加工的对象通称为数据

数据元素:是数据的基本单位,在程序中作为一个整体加以考虑和处理。又称元素、顶点、结点、记录。

数据项: 数据项组成数据元素, 但通常不具有完整确定的实际意义, 或不被当作一个整体对待。 又称字段或域,是数据不可分割的最小标示单位。

1.2.2 数据的逻辑结构

逻辑关系:是指数据元素之间的关联方式,又称“邻接关系”

逻辑结构 :数据元素之间逻辑关系的整体称为逻辑结构。即数据的组织形式。

四种基本逻辑结构:

1 集合:任何两个结点间没有逻辑关系,组织形式松散

2 线性结构:结点按逻辑关系依次排列成一条“锁链”

3 树形结构:具有分支,层次特性,形态像自然界中的树

4. 图状结构:各个结点按逻辑关系互相缠绕,任何两个结点都可以邻接。

注意点 :

1. 逻辑结构与数据元素本身的形式,内容无关。

2. 逻辑结构与数据元素的相对位置无关

3. 逻辑结构与所含结点个数无关。

运算:运算是指在任何逻辑结构上施加的操作,即对逻辑结构的加工。

加工型运算:改变了原逻辑结构的“值” ,如结点个数,结点内容等。

引用型运算 :不改变原逻辑结构个数和值,只从中提取某些信息作为运算的结果。

引用:查找,读取

加工:插入,删除,更新

同一逻辑结构 S 上的两个运算 A 和 B, A 的实现需要或可以利用 B,而 B 的实现不需要利用 A,则称 A 可以归约为 B。

假如 X 是 S上的一些运算的集合, Y是 X 的一个子集, 使得 X 中每一运算都可以规约为 Y 中的一个或多个运算,而 Y 中任何运算不可规约为别的运算,则称 Y 中运算(相对于 X)为基本运算。将逻辑结构 S和在 S上的基本运算集 X 的整体( S,X)称为一个数据结构。数据结构包括逻辑结构和处理方式。

1.3 存储实现和运算实现

由于逻辑结构是设计人员根据解题需要选定的数据组织形式, 因此存储实现建立的机内表示应遵循选定的逻辑结构。另一方面,由于逻辑结构不包括结点内容即数据元素本身的表示,因此存储实现的另一主要内容是建立数据元素的机内表示。按上述思路建立的数据的机内表示称为数据的存储结构。

存储结构包括三部分:

1. 存储结点 ,每个存储结点存放一个数据元素。

2. 数据元素之间关联方式的表示, 也就是逻辑结构的机内表示。

3. 附加设施 ,如方便运算实现而设置的“哑结点”等。

四种基本存储方式:

1. 顺序存储方式 :每个存储结点只含一个数据元素。所有存储结点相继存放在一个连续的存储区里。用存储结点间的位置关系表述数据元素之间的逻辑关系。

2. 链式存储方式 :每个存储结点不仅含有一个数据元素,还包含一组指针。每个指针指向一个与本结点有逻辑关系的结点,即用附加的指针表示逻辑关系。

3. 索引存储方式 :每个存储结点只含一个数据元素,所有存储结点连续存放。此外增设一个索引表,索引指示各存储结点的存储位置或位置区间端点。

4. 散列存储方式 :每个结点含一个数据元素,各个结点均匀分布在存储区里,用散列函数指示各结点的存储位置或位置区间端点。

1.3.2 运算实现

运算只描述处理功能,不包括处理步骤和方法;运算实现的核心是处理步骤的规定,即算法设计。

算法:算法规定了求解给定问题所需的所有处理步骤及其执行顺序,使得给定类型的任何问题能在有限时间内被机械的求解。

算法分类:

1:运行终止的程序可执行部分:又称为程序

2:伪语言算法 :不可以直接在计算机上运行,但容易编写和阅读。

3:非形式算法 :用自然语言,同时可能还使用了程序设计语言或伪语言描述的算法。

1.4 算法分析

算法质量评价指标:

1. 正确性 :能够正确实现处理要求

2. 易读性 :易于阅读和理解,便于调试,修改和扩充

3. 健壮性 :当环境发生变化,算法能够适当做出反应或处理,不会产生不需要的运行结果

4. 高效率 :达到所需要的时空性能。

如何确定一个算法的时空性能,称为算法分析

一个算法的时空性能是指该算法的时间性能和空间性能, 前者是算法包含的计算量, 后者是算法需要的存储量。

算法在给定输入下的计算量:

1. 根据该问题的特点选择一种或几种操作作为“标准操作” 。

2. 确定每个算法在给定输入下共执行了多少次标准操作,并将此次数规定为该算法在给定输入下的计算量。若无特殊说明,将默认以赋值语句作为标准操作。

最坏情况时间复杂性:算法在所有输入下的计算量的最大值作为算法的计算量

平均时间复杂性:算法在所有输入下的计算量的加权平均值作为算法的计算量。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/171037.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 安装PyTorch(pytorch官网下载教程)

    安装PyTorch过程安装anaconda环境管理PyTorch安装检验安装安装anaconda登录anaconda的官网下载,anaconda是一个集成的工具软件不需要我们再次下载。anaconda官网点击下载跳转到这个页面如果你的Python版本正好是3.8版,那便可以直接根据系统去选择自己相应的下载版本就可以了。但是如果你的Python版本号不是当前页面的版本号,那我建议你去选择相对应的版本号。点击archive你就会跳转到下面的页面你可以访问这篇博客去找到当前与你python版本号相对

    2022年4月15日
  • 字符串正则匹配leetcode_动态规划的特点

    字符串正则匹配leetcode_动态规划的特点原题链接给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。‘.’ 匹配任意单个字符‘*’ 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。示例 1:输入:s = “aa” p = “a”输出:false解释:”a” 无法匹配 “aa” 整个字符串。示例 2:输入:s = “aa” p = “a*”输出:true解释:因为 ‘*’ 代表可以匹配零个或多个前面的那一个元素, 在这里前面的元素就是

    2022年8月9日
  • ‘java‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件「建议收藏」

    ‘java‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件「建议收藏」’java’不是内部或外部命令,也不是可运行的程序或批处理文件。今天在运行逆向的jar,其中在cmd中用到了java命令。配置JAVA环境变量如下:1.下载安装jdk2.安装完成后,右击“我的电脑”,点击“属性”;3.选择“高级”选项卡,windows7选择左边的“高级系统设置”,点击“环境变量”;4.用户变量配置JAVA_HOME指明JAVA安装路径,值设为:C…

    2022年7月17日
  • 数据类型

    一:什么是数据在接触数据之前我们已经知道了变量,那么什么是变量呢又该如何声明变量呢声明变量name="王妃"在这个变量中共包含三个部分:在这个示例中变量的值“王妃”

    2022年3月29日
  • linux访问samba共享_centos7共享文件夹设置

    linux访问samba共享_centos7共享文件夹设置LinuxSamba共享配置教程一、samba介绍linux与windows共享文件一般的方法就是设置共享文件夹和搭建samba服务器。samba服务器作可以windows和linux交互的媒介,可以让windows用户轻松地在电脑上使用图形界面访问linux文件系统,并可以设置写入权限,实用性极佳。二、samba安装首先需要安装samba程序,部分Ubuntu镜像已经自带;执行如下命令即可sudoapt-getinstallsambasudoapt-getins

    2022年9月24日
  • java 大数据学习路线图

    java 大数据学习路线图学习路线图大数据Java

    2022年5月8日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号