【自考】数据结构第三章,数组,期末不挂科指南,第5篇

数组

概念如下

数组可以看成线性表的一种推广,其实就是一种线性表,一维数组又称为向量
数据由一组具有相同类型的数据元素组成,并存储在一组连续的存储单元中
若一维数组中的数据元素又是一维数组结构,则称为二维数组 依次类推,可以得到 三维数组多维数组

数组基本运算

数组通常只有两种基本运算

  1. 读:给定一组下标,返回该位置的元素内容
  2. 写:给定一组下标,修改该位置的元素内容

数组的存储结构

一维数组元素的内存单元地址是连续的
二维数组可有两种存储方法:一种是以列序为主序的存储;另一种是以行序为主序的存储。
==C语言中,数组采用的是以行序为主序的存储==

矩阵的压缩存储(重点)

在数值分析中,经常出现一些高阶矩阵,这些高阶矩阵中有许多值相同的元素或零元素,为了节省存储空间,对这类矩阵采用多个值相同的元素只分配一个存储空间,零元素不存储的策略,这个方法就是矩阵的压缩存储

特殊矩阵

教材中特殊矩阵主要涉及两种 对称矩阵三角矩阵

这两部分都是概念性的问题,考试中属于占比非常小的一些考点,自行学习一下即可,重点看一下,下面的稀疏矩阵

稀疏矩阵

假设m行n列的矩阵有t个非0元素,当t<<m*n时,就叫做稀疏矩阵了

上图里面只有几个非0元素,所以就是一种稀疏矩阵

三元组表示法

稀疏矩阵一般采用三元组表示法,用三个项来表示稀疏矩阵中的非0元素a~ij~,即(i,j,a~ij~),其中i表示行序号,j表示列序号,a~ij~是非0元素的值。

上面的稀疏矩阵如果用三元组表是,如下
((0,1,5),(2,1,-1),(2,3,7),(3,1,6),(4,4,9))

好了,上面就是一个非常重要的考点了,接下来弄几个自考真题练练吧

自考真题

第一题:已知一个7x6的稀疏矩阵如图所示,试写出该稀疏矩阵的三元组表示

答案:

((0,0,16),(0,5,-16),(1,2,3),(2,3,-8),(4,0,91),(6,2,15))

第二题:稀疏矩阵A如图所示,写出该稀疏矩阵A的三元组表示法

答案:

((0,2,5),(1,0,-1),(2,5,2),(3,4,8),(4,3,5),(5,1,7))

答题技巧

  1. 行,列序号都是从0开始的,别数差了
  2. 行号在前,列号在后
  3. 最外层还有一个大括号呢

原文地址:https://www.cnblogs.com/happymeng/p/shujujiegou_5.html

时间: 2024-10-07 00:01:19

【自考】数据结构第三章,数组,期末不挂科指南,第5篇的相关文章

【自考】数据结构第三章,栈、队列、数组,期末不挂科指南,第3篇

学习目标 自考重点.期末考试必过指南,这篇文章让你理解什么是栈.什么是队列.什么是数组 掌握栈.队列的顺序存储结构和链式存储结构 掌握栈.队列的基本操作在顺序存储结构和链式存储结构上的实现 掌握矩阵的压缩存储 今天核心咱们先把栈搞清楚 栈和队列可以看做是特殊的线性表 .它们的特殊性表现在它们的基本运算是线性表运算的子集,它们是运算受限的线性表 栈 栈(Stack)是运算受限的线性表,这种线性表上的插入和删除操作限定在表的一端进行 基本概念 栈顶:允许插入和删除的一端 栈尾:另一端 空栈:不含任何

【自考】大学本科那个数据结构怎么学,期末不挂科指南,第1篇

数据结构那些事 如果你现在在上大学,恰好又是计算机相关专业 那么你肯定知道有一个非常枯燥的必修课<数据结构导论> 当然,你现在没上大学或者不是计算机专业,那你现在应该知道了,他们有个必修课叫<数据结构导论> 从今天开始梦想橡皮擦要写一套非常有趣的课程了 这套课程目的很简单 目的:如何通过数据结构期末考试,有趣! 适合人群: 大学计算机相关专业,有这门课程,然鹅你没学,或者因为一些莫名奇妙的原因,你旷课了 你想通过自考,注意自考,然后获取计算机的一个本科学历,这门课也是必修. 一门课

【自考】数据结构中的线性表,期末不挂科指南,第2篇

线性表 这篇博客写的是线性表相关的内容,包括如下部分,先看下有木有期待 啥是线性表 线性表的顺序存储 线性表的基本运算在顺序表上的实现 线性表的链式存储 线性表的基本运算在单链表上的实现 循环链表与双向循环链表 Over,内容还蛮多的!~  ̄□ ̄||,头大了... 首先明确一个非常重要的点 线性表是一个线性结构,注意上篇博客提过线性结构是数据的逻辑结构中的一种 基本概念 线性表是由n(n≥0)个数据元素组成的有穷序列 大白话:在内存上一个个排着,找到一个,剩下的挨着找就行 数据元素又称作结点 吐

【自考】数据结构第三章,队列,期末不挂科指南,第4篇

队列 这篇博客主要介绍一下队列的概念,并且采用C语言,编写两种存储实现方式:顺序存储和链式存储,当然还有常规的队列基本操作的实现算法 队列基本概念 标准解释:队列(Queue)是有限个同类型数据元素的线性序列,是一种先进先出(First In First Out FIFO)的线性表,新键入的数据元素插在队列尾端,出队列的数据元素在队列首部被删除. 教材中给了一个示意图,不错 顺序队列结构类型中有三个域:data.front.rear. data:一维数组,存储队列中的数据元素 font:指向队列

【自考】数据结构第六章查找,期末不挂科指南,第10篇

查找的一些基本概念 查找表 是由同一类型的数据元素 构成的集合,它是一种以查找为"核心",同时包括其他运算的非常灵活的数据结构. 上面概念中的集合和数学上的定义是一致的,简单地说就是由任意一些可分辨的对象构成的整体 作为一个数学概念,集合的元素是没有任何限制. 作为一种数据结构,查找表的逻辑结构是集合,对查找表进行的操作包括 查找表中的某一元素,读取表中特定数据元素,插入和删除一个数据元素等. 若对查找表只进行前两项操作,则称此类查找表为 静态查找表. 若在查找过程中,向表中插入不存在

紫书第三章 数组和字符串

1  序 系统的整理下第三章的学习笔记.例题代码是在未看书本方法前自己尝试并AC的代码,不一定比书上的标程好:习题除了3-8百度了求解方法,其它均独立完成后,会适当查阅网上资料进行整理总结.希望本博文方便自己日后复习的同时,也能给他人带来点有益的帮助(建议配合紫书--<算法竞赛入门经典(第2版)>阅读本博客).有不足或错误之处,欢迎读者指出. 2  例题 2.1  UVa272--Tex Quotes #include <stdio.h> int main() { bool log

C++教程第三章-数组

转载请注明出处: http://blog.csdn.net/miaoyunzexiaobao PS:命名空间的概念:之前写的std::cout/std::cin/std::endl等,表示cout/cin/endl这些属于一个名为std的命名空间,不愿写的话可以在main之前声明:using namespace std,表明本函数使用命名空间std.命名空间的概念会在以后讲解. 1.      数组的概念 数组是一组类型的值的集合,是由类型名,标识符和维数组成的复合数据类型.其中类型名规定了数组

C语言数据结构——第三章 栈和队列

三.栈和队列 栈和队列是两种重要的线性结构.从数据结构的角度来看,栈和队列也是线性表,它的特殊性在于栈和队列的基本操作是线性表操作的子集,它们的操作相对于线性表来说是受到限制的,因此,可以称其为限定性的数据结构. 从数据类型的角度看,它们是和线性表大不相同的两种重要的抽象数据类型,在面向对象的程序设计中,它们是多型数据类型. 3.1-栈 3.1.1-抽象数据类型栈的定义 栈:是限定仅在表尾进行插入或删除操作的线性表,又可以称为后进先出的线性表. 栈顶:栈的表尾端 栈底:栈的表头端 空栈:不含元素

快学Scala习题解答—第三章 数组相关操作

3 数组相关操作 3.1 编写一段代码,将a设置为一个n个随机整数的数组,要求随机数介于0(包含)和n(不包含)之间 random和yield的使用 Scala代码   import scala.math.random def randomArray(n:Int)={ for(i <- 0 until n) yield (random * n).toInt } println(randomArray(10).mkString(",")) 3.2 编写一个循环,将整数数组中相邻的元