① 数据结构
简单的说,物理结构就是数据在内存(包括其他存储媒介)中实际的存放结构。
而逻辑结构是指编程语言中定义出来的一些结构,比如数组,链表等都属于逻辑结构。
逻辑结构是按照一定的规则映射到具体的物理结构上的。一数组为例:
int[5] array,在逻辑结构上array是数组名,数组名加上数组下标对应一个数组元素;而在物理结构上来说,array对应一个真实的内存地址,可以理解成一个指向某一个内存单元的指针,而数组下标是一个相对与这个真实内存地址的地址偏移量。
我想如果能明白这些的话,是很容易区分数据结构中的物理结构和逻辑结构的。
② 常用数据结构有哪些
数据结构分为8类有:数组、栈、队列、链表、树、散列表、堆、图。数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成 。
1、数组
数组是可以再内存中连续存储多个元素的结构,在内存中的分配也是连续的,数组中的元素通过数组下标进行访问,数组下标从0开始。例如下面这段代码就是将数组的第一个元素赋值为 1。
2、栈
栈是一种特殊的线性表,仅能在线性表的一端操作,栈顶允许操作,栈底不允许操作。 栈的特点是:先进后出,或者说是后进先出,从栈顶放入元素的操作叫入栈,取出元素叫出栈。
3、队列
队列与栈一样,也是一种线性表,不同的是,队列可以在一端添加元素,在另一端取出元素,也就是:先进先出。从一端放入元素的操作称为入队,取出元素为出队。
4、链表
链表是物理存储单元上非连续的、非顺序的存储结构,数据元素的逻辑顺序是通过链表的指针地址实现,每个元素包含两个结点,一个是存储元素的数据域 (内存空间),另一个是指向下一个结点地址的指针域。根据指针的指向,链表能形成不同的结构,例如单链表,双向链表,循环链表等。
5、树
树是一种数据结构,它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做 “树” 是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。
6、散列表
散列表,也叫哈希表,是根据关键码和值 (key和value) 直接进行访问的数据结构,通过key和value来映射到集合中的一个位置,这样就可以很快找到集合中的对应元素。
7、堆
堆是一种比较特殊的数据结构,可以被看做一棵树的数组对象,具有以下的性质:堆中某个节点的值总是不大于或不小于其父节点的值;堆总是一棵完全二叉树。将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。常见的堆有二叉堆、斐波那契堆等。
8、图
图是由结点的有穷集合V和边的集合E组成。其中,为了与树形结构加以区别,在图结构中常常将结点称为顶点,边是顶点的有序偶对,若两个顶点之间存在一条边,就表示这两个顶点具有相邻关系。
③ 数据架构(data architecture)是什么意思
你好,看看这个参考吧。
数据结构是在整个计算机科学与技术领域上广泛被使用的术语。它用来反映一个数据的内部构成,即一个数据由那些成分数据构成,以什么方式构成,呈什么结构。数据结构有逻辑上的数据结构和物理上的数据结构之分。逻辑上的数据结构反映成分数据之间的逻辑关系,而物理上的数据结构反映成分数据在计算机内部的存储安排。数据结构是数据存在的形式。 数据结构是信息的一种组织方式,其目的是为了提高算法的效率,它通常与一组算法的集合相对应,通过这组算法集合可以对数据结构中的数据进行某种操作。
数据结构课程的主要目的是介绍一些常用的数据结构,阐明数据结构内在的逻辑关系,讨论它们在计算机中的存储表示,并结合各种数据结构,讨论对它们实行的各种运算的实现算法。很多算法实际上是对某种数据结构施行的一种变换,研究算法也就是研究在实施变换过程中数据结构的动态性质。
问:我对此题产有疑义!将F=1+1/2+1/3+……+1/n用递归函数编程!
徐孝凯:是递归问题,请仔细琢磨。
问:数据结构太不好学了
殷人昆:数据结构需要下工夫,必须作题,这与其他课程的规律都一样。重点把各种结构的定义、特点,存储表示搞清楚,对每一种结构的实现方法有所了解,考试时的基本分数就有了。书上的算法的思路要掌握,它给出解决问题的方法。
问:数据结构我已经考了两次了,还是没有过关。不知道有没有什么窍门?请有心得的朋友指点一下,非常感激。
殷人昆:可能你过去程序设计的基础没有打好,所以继续学习就会发生困难。现在考试的重点在基本概念的理解和基本结构的构造和分析,对算法编写要求的比重不太高。如果基本概念和各种数据结构的基本特点也不清楚,考试必然不合格。努力把书本看一遍,该记的记,该背的背。考试的范围比较大,不好划重点。
问:我们是贵州电大贵阳分校的几位学生,我们今年已是第五次考数据结构了,但我们已有2年没有得到中央电大的《期末复习指导》了,不知现在的考试要求是什么,若能为我们提供该资料,我们将万分感谢!
徐孝凯:请到该课程网页上查找。
问:数据结构的考试重点在那?
徐孝凯:请注意以下复习:
1.该课程期末复习指导
2.该课程形成性作业
3.该课程实验教材后面附录中的综合练习题
4.该课程中央电大网页上发表的各种题型的综合练习题。
问:程序步数的计算要注意些什么?
殷人昆:注意掌握每一类型语句的基本程序步数,再学会统计程序中各个语句的执行频度,就可以计算出程序的总程序步数。
问:稀疏矩阵一般用在什么情况下?
殷人昆:稀疏矩阵主要用在工程和科学计算中,例如,在做大坝的结构计算时,用有限元法将整个大坝划分成三角网格,在每一个节点上列出方程。经过一系列变换,最后形成一个大型稀疏系数线性方程组,其系数矩阵即为稀疏矩阵。此外,在解电路问题也会遇到稀疏矩阵。因此,稀疏矩阵的表示和计算有其工程背景。
tlddcl:教课书上P220页习题六一题6小题由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为( )A.24 B.48 C.72 D.51
我计算应为55而中央电大期未复习中同样题选的D.53 不知应为多少
贺桂英:经过我的计算,这棵哈夫曼树的带权路径长度应为:53
可能是选择题的答案印刷有误!
tlddcl:能将运算式子写出来
贺桂英:ASL=(2+3)*3+(5+6+8)*2=53
徐孝凯:谢谢贺老师回答。
贺桂英:构造的哈夫曼树在附件中!
ASL=(2+3)*3+(5+6+8)*2=53
tlddcl:按你的计算式子5,6,8三个叶子结点应在一个层上呀
贺桂英:请问徐老师:B_树的插入与删除还作考核要求吗?对于 B_树的插入、删除,学生们学起来有些困难,这部分是否作为本次考试的内容?
徐孝凯:基本不做要求,考核较多的是B_的概念,即B_树的结构特点。
贺桂英:徐老师:排序算法太多,关于希尔排序我没时间给学生讲解,这部分是否作为考核内容?
徐孝凯:不做为考核要求,因为它不是一个好的排序算法。
贺桂英:外排序的内容是否要求掌握?
徐孝凯:只有很少一些概念是要求的,如最佳归并树的概念,不过可以放弃,因为涉及的分数很少。
问:求广义表的表头与求它的第一个元素是一回事吗?
贺桂英:我的理解是一样的.广义表的算法比较难,应该不作考核要求的.
徐孝凯:贺老师回答是对的,关于广义表的表头和表尾的知识,有时作为概念来考核。
问:已知三叉树的结点个数,怎么求它的最小和最大深度?
贺桂英:对了,这是一个值得探讨的问题!请问徐老师:三叉树中是否至少有一个结点的度为3才行?
徐孝凯:在专科数据结构教材中介绍树的性质时,给出了树的结点数与最小深度的关系,其最大深度应等于其结点数,不一定非得存在度为3的结点。
问:老师,你好。我是广西电大桂林电大的一名01级学生,我觉得这门课程很难考,考了4次,每次都差那么几分,虽然专科时也是这个专业,但却很难考,有什么好的资料吗
徐孝凯:请多练习该课程实验教材后面的综合练习题。
贺桂英:我个人觉得:作业和实验指导书后的综合练习题很重要!
徐孝凯:这学期新增加了网上教学综合练习题辅导文章。在该课程的中央电大网页上的教学辅导专栏中,新发表有期末综合练习题,请注意参考。
问:该课是否有模拟题型?望指导。
徐孝凯:请注意以下复习:
1.该课程期末复习指导
2.该课程形成性作业
3.该课程实验教材后面附录中的综合练习题
4.该课程中央电大网页上发表的各种题型的综合练习题。
问:什么是数据结构
殷人昆:数据结构是所要处理的数据元素之间的关系,这些数据元素依据这种关系构成适合各种问题求解的数据表示。
问:数据结构的抽象层次
殷人昆:数据结构分逻辑结构和存储结构。逻辑结构是面向问题的,存储结构是逻辑结构的存储表示。通常所说的“数据结构”是指数据的逻辑结构,包括线性结构(线性表)和非线性结构(树、图、多维数组、广义表),存储结构包括一维数组、链接表、索引表、散列表。
问:广义表的递归算法
殷人昆:广义表的读归算法看书。不知你要问什么问题?是否希望知道重点?
问:老师你讲的这资料“课程实验教材后面的综合练习题和验指导书后的综合练习题”我们都没有。在哪找到?
殷人昆:中央广播电视大学出版社出版的“数据结构实验(本科)”中有,请购买。
徐孝凯:该课程的实验教材由中央广播电视大学出版社出版
教材名称为“数据结构实验(本科),徐孝凯、殷人昆编著,中央广播电视大学出版社出版,联系电话为:010-68214437转发行部
问:图的基本概念
徐孝凯:请看书。
问:数据结构基本概念
徐孝凯:请看实验教材后面的练习题。
问:求一个算法的时间复杂度应该从哪几个方面来算
徐孝凯:主要看循环体执行的次数。
问:排序的算法考试是否作要求?
徐孝凯:一般考方法的情况较多,考算法的情况较少。 试题范围同实验教材后的练习题,请注意分析可知。
问:简单的搜索结构
徐孝凯:此概念较模糊,简单的搜索应该是顺序搜索。
问:抽象数据类型及面向对象概念
徐孝凯:看书第一章
殷人昆:答疑时间到,请大家把书多看几遍,再见!
④ 数据架构主要解决哪些问题
数据结构是这样来的。
前人在很多场景处理数据时发现数据的某种处理或者存储规律,于是就总结这些规律发明数据结构,让后人更快的学会与使用,要问能解决什么样的问题,太多了,基础的数据结构堆栈树,能在很多很多地方都用到,一些复杂点的数据结构也用于更细分的领悟。
脱离具体东西说它能解决什么问题有点耍流氓,如果一定要个答案,只能说
适用于解决有一定规律的重复性问题。
⑤ 数据架构是什么
数据架构即数据库架构
数据库是相关数据的集合,一个数据库含有各种成分,包括表、记录、字段、索引等。
1.数据库(Database)
Visual Basic中使用的数据库是关系型数据库(Relational Database)。一个数据库由一个或一组数据表组成。每个数据库都以文件的形式存放在磁盘上,即对应于一个物理文件。不同的数据库,与物理文件对应的方式也不一样。对于dBASE,FoxPro和Paradox格式的数据库来说,一个数据表就是一个单独的数据库文件,而对于Microsoft Access、Btrieve格式的数据库来说,一个数据库文件可以含有多个数据表。
2.数据表(Table)
简称表,由一组数据记录组成,数据库中的数据是以表为单位进行组织的。一个表是一组相关的按行排列的数据;每个表中都含有相同类型的信息。表实际上是一个二维表格,例如,一个班所有学生的考试成绩,可以存放在一个表中,表中的每一行对应一个学生,这一行包括学生的学号,姓名及各门课程成绩。
3.记录(Record)
表中的每一行称为一个记录,它由若干个字段组成。
4.字段(Field)
也称域。表中的每一列称为一个字段。每个字段都有相应的描述信息,如数据类型、数据宽度等。
5.索引(Index)
为了提高访问数据库的效率,可以对数据库使用索引。当数据库较大时,为了查找指定的记录,则使用索引和不使用索引的效率有很大差别。索引实际上是一种特殊类型的表,其中含有关键字段的值(由用户定义)和指向实际记录位置的指针,这些值和指针按照特定的顺序(也由用户定义)存储,从而可以以较快的速度查找到所需要的数据记录。
6.查询(Query)
一条SQL(结构化查询语言)命令,用来从一个或多个表中获取一组指定的记录,或者对某个表执行指定的操作。当从数据库中读取数据时,往往希望读出的数据符合某些条件,并且能按某个字段排序。使用SQL,可以使这一操作容易实现而且更加有效。SQL是非过程化语言(有人称为第四代语言),在用它查找指定的记录时,只需指出做什么,不必说明如何做。每个语句可以看作是一个查询(query),根据这个查询,可以得到需要的查询结果。
7.过滤器(Filter)
过滤器是数据库的一个组成部分,它把索引和排序结合起来,用来设置条件,然后根据给定的条件输出所需要的数据。
8.视图(view)
数据的视图指的是查找到(或者处理)的记录数和显示(或者进行处理)这些记录的顺序。在一般情况下,视图由过滤器和索引控制
⑥ 什么叫数据架构呢
数据中心是使用复杂的网络、计算和存储系统来提供对应用程序和数据的共享访问的设施。行业标准的存在有助于设计、构建和维护数据中心设施和基础设施,以确保数据的安全性和可用性。
数据中心架构组件
计算、存储和网络是数据中心中使用的三种主要组件类型。然而,在现代数据中心中,这些组件只是冰山一角。从表面上看,支持基础设施对于企业数据中心实现服务水平协议的能力至关重要。
数据中心计算
数据中心的生成器是服务器。在边缘计算模型中,用于在服务器上运行应用程序的处理和内存可能是虚拟化的、物理的、分布在容器之间或分布在远程节点之间。通用cpu可能不是解决人工智能(AI)和机器学习(ML)问题的最佳选择,所以数据中心必须使用最适合这项任务的处理器。
数据中心存储
出于自身的目的和客户的需要,数据中心保存着大量的机密数据。减少的存储介质成本增加了数据备份可用的存储量,无论是本地、远程还是两者兼有。由于非易失性存储介质的进步,数据访问时间越来越快。此外,就像其他软件定义的东西一样,软件定义的存储技术在管理数据中心存储系统时提高了人员的生产力。
数据中心网络
布线、交换机、路由器和防火墙都是数据中心网络设备的例子,这些设备将服务器彼此连接起来,也将服务器与外界连接起来。如果设计和组织得当,它们可以在不牺牲效率的情况下处理大量的流量。典型的三层网络拓扑结构包括数据中心边缘的核心交换机(该交换机将数据中心与Internet连接)和中间聚合层(该聚合层将核心层与接入层结合起来,该接入层承载着服务器)。由于超大规模网络安全和软件定义的网络等创新,现设数据中心网络提供云级的移动性和可伸缩性。
⑦ 什么是数据架构
数据结构是在整个计算机科学与技术领域上广泛被使用的术语。它用来反映一个数据的内部构成,即一个数据由那些成分数据构成,以什么方式构成,呈什么结构。数据
⑧ 数据架构是什么
从整公司的角度来看,企业架构包含业务架构、技术架构和数据架构。数据架构应该是面向业务数据定义、数据生产、数据分析、数据使用的整体架构,与业务架构、技术架构相辅相成,密不可分,故大数据架构和数据库架构都只是数据架构的个子集。
⑨ 数据结构
常用结构有
数组 (Array)
在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称为数组。在C语言中, 数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。
栈 (Stack)
是只能在某一端插入和删除的特殊线性表。它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。
队列 (Queue)
一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列是按照“先进先出”或“后进后出”的原则组织数据的。队列中没有元素时,称为空队列。
链表 (Linked List)
是一种物理存储单元上非连续、非顺序的存储结构,它既可以表示线性结构,也可以用于表示非线性结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。
树 (Tree)
是包含n(n>0)个结点的有穷集合K,且在K中定义了一个关系N,N满足 以下条件:
(1)有且仅有一个结点 K0,他对于关系N来说没有前驱,称K0为树的根结点。简称为根(root)。 (2)除K0外,K中的每个结点,对于关系N来说有且仅有一个前驱。
(3)K中各结点,对关系N来说可以有m个后继(m>=0)。
图 (Graph)
图是由结点的有穷集合V和边的集合E组成。其中,为了与树形结构加以区别,在图结构中常常将结点称为顶点,边是顶点的有序偶对,若两个顶点之间存在一条边,就表示这两个顶点具有相邻关系。
堆 (Heap)
在计算机科学中,堆是一种特殊的树形数据结构,每个结点都有一个值。通常我们所说的堆的数据结构,是指二叉堆。堆的特点是根结点的值最小(或最大),且根结点的两个子树也是一个堆。
散列表 (Hash)
若结构中存在关键字和K相等的记录,则必定在f(K)的存储位置上。由此,不需比较便可直接取得所查记录。称这个对应关系f为散列函数(Hash function),按这个思想建立的表为散列表。
主要要掌握的除了图以外.都得清楚的知道哦~
⑩ 数据结构'''''''''
第1题答案正确,因为
二叉树
中度为0的节点数(叶子节点)比度为2的节点数(有两个孩子的节点)多1,而叶子数为50,则有两个孩子的节点数为49,加上一个孩子的节点数30共为50+49+30=129
第二题答案错误,
生成树
的边数应该小于
定点数