北航数据结构
- 格式:pdf
- 大小:237.39 KB
- 文档页数:6
991数据结构与C语言程序设计考试大纲(2013版)2013年《数据结构与C语言程序设计》考试内容包括“数据结构”与“C语言程序设计”两门课程的内容,各占比例50%,试卷满分为150分。
《数据结构》部分指定参考书:《数据结构教程(第二版)》唐发根编著北京航空航天大学出版社一、概述1.数据的逻辑结构与存储结构的基本概念;2.算法的定义、基本性质以及算法分析的基本概念,包括采用大 形式表示时间复杂度和空间复杂度。
二、线性表1.线性关系、线性表的定义,线性表的基本操作;2.线性表的顺序存储结构与链式存储结构(包括单(向)链表、循环链表和双向链表)的构造原理;3.在以上两种存储结构的基础上对线性表实施的基本操作,包括顺序表的插入与删除、链表的建立、插入与删除、查找等操作对应的算法设计(含递归算法的设计)。
三、堆栈与队列1.堆栈与队列的基本概念与基本操作;2.堆栈与队列的顺序存储结构与链式存储结构的构造原理;3.在不同存储结构的基础上对堆栈与队列实施插入与删除等基本操作的算法设计;4.堆栈和队列在解决实际问题中应用。
四、树与二叉树1.树与二叉树的基本概念,基本特征、名词术语;2.完全二叉树与满二叉树的基本概念,二叉树的基本性质;3.二叉树与树、树林之间的转换;4.二叉树的顺序存储结构与二叉链表存储结构;5.二叉树的前序遍历、中序遍历、后序遍历和按层次遍历,以及在二叉链表基础上各种遍历算法(重点为非递归算法)的设计与应用;6.二叉排序树的基本概念、建立(插入)、查找与平均查找长度ASL的计算;7.哈夫曼(Huffman)树的基本概念,哈夫曼树的构造与带权路径长度(WPL)的计算。
五、图1.图的基本概念、名词术语;2.图的邻接矩阵存储方法和邻接表(含逆邻接表)存储方法的构造原理及特点;3.图的深度优先搜索与广度优先搜索;4.最小(代价)生成树、最短路径、AOV网与拓扑排序以及AOE网与关键路径的基本概念与求解过程。
北航数据结构试题及答案一、单项选择题(每题2分,共20分)1. 在数据结构中,线性表的顺序存储结构通常使用什么数据结构来实现?A. 链表B. 栈C. 数组D. 树答案:C2. 下列关于二叉树的描述中,错误的是:A. 二叉树的第i层最多有2^(i-1)个节点B. 任意非空二叉树的叶子节点数等于度为2的节点数加1C. 任意非空二叉树的叶子节点数等于度为2的节点数减1D. 任意非空二叉树的叶子节点数等于度为2的节点数答案:C3. 在图的遍历算法中,深度优先搜索(DFS)使用的数据结构是:A. 队列B. 栈C. 链表D. 数组答案:B4. 哈希表的冲突解决方法不包括以下哪种?A. 开放定址法B. 链地址法C. 再散列法D. 排序法答案:D5. 快速排序算法的时间复杂度最坏情况下为:A. O(nlogn)B. O(n^2)C. O(n)D. O(1)答案:B6. 以下排序算法中,时间复杂度为O(nlogn)的是:A. 冒泡排序B. 快速排序C. 选择排序D. 插入排序答案:B7. 以下关于堆的描述中,正确的是:A. 堆是一种特殊的二叉树B. 堆是一种完全二叉树C. 堆是一种平衡二叉树D. 堆是一种链表答案:A8. 在一个长度为n的有序数组中查找一个元素,使用二分查找算法的时间复杂度是:A. O(n)B. O(nlogn)C. O(logn)D. O(1)答案:C9. 以下算法中,不属于动态数据结构的是:A. 链表B. 栈C. 数组D. 哈希表答案:C10. 以下关于图的描述中,错误的是:A. 图是由顶点和边组成的B. 图的顶点可以有0个或多个C. 图的边可以有向或无向D. 图的顶点数一定大于边数答案:D二、多项选择题(每题3分,共15分)1. 下列哪些是线性表的存储结构?A. 顺序存储B. 链式存储C. 索引存储D. 散列存储答案:A, B2. 在图的表示方法中,以下哪些是正确的?A. 邻接矩阵B. 邻接表C. 边表D. 顶点表答案:A, B, C3. 下列哪些排序算法是稳定的?A. 冒泡排序B. 快速排序C. 插入排序D. 选择排序答案:A, C4. 在数据结构中,以下哪些是递归算法的特点?A. 问题可以分解为更小的子问题B. 每个子问题都是原问题的实例C. 存在递归终止条件D. 递归算法的时间复杂度一定比迭代算法高答案:A, B, C5. 在使用链表实现栈时,以下哪些操作是合法的?A. pushB. popC. peekD. clear答案:A, B, C三、简答题(每题5分,共30分)1. 请简述什么是递归,并给出一个递归算法的例子。
软件工程技术基础复习指南一.数据结构1.术语:1.数据;2.数据元素;3数据结构;4.结构2.数据结构定义:就是具有结构的数据元素的集合。
3.算法的定义:用来解决某个特定课题的指令的集合。
4.算法的性质:输入、输出、有穷性、确定性、有效性5.算法描述:自然语言、程序流程图、具体程序语言6.算法分析:指对算法质量优劣的评价。
(时间复杂度、空间复杂度、可读性、可移植性、易测试性)7.时间复杂度:依据算法编写的程序在计算机中运行时间多少的度量(关键语句之行的次数)O(n);(O(log2n)(二分检索)<O(n)(比较两个具有n个字符串)<O(nlog2n)<O(n2)<O(n3)(常规矩阵乘)<O(2n)<O(n!));O(1):访问数组中的元素是常数时间操作8.空间复杂度:依据算法编写的程序在计算机中占存储空间多少的度量9.频度统计法:以语句执行的次数的多少作为算法的时间量度的分析方法10.语句的频度:语句被执行的次数11.算法的频度:算法中所有语句的频度之和12.数组:下标与值组成的偶对的有穷集合13.二维数组的存储结构:行序为主序分配方式、列序为主序分配方式、14.特殊矩阵的压缩存储:对称矩阵、对角矩阵、15.线性表:数据元素之间具有的逻辑关系为线性关系的数据元素集合16.线性表的基本操作:创建、索引、存入、插入、删除、排序、17.线性表顺序存储结构:用一组地址连续的存储单元依次存储线性表的数据元素,数据元素之间的逻辑关系通过数据元素的存储位置直接反映18.顺序存储结构优点:原理简单、元素存储地址可用简单解析式计算、存储空间开销小19.顺序存储结构缺点:需事先分配连续地址、基本操作时间效率低20.线性链表:用一组地址任意的存储单元(连续的或不连续的)依次存储表中各个数据元素,数据元素之间的逻辑关系通过间接地反映出来21.链式存储结构优点:存储空间动态分布、地址不连续、插入删除操作效率高(O(1))22.链式存储结构缺点:存储密度小、查找定位效率低O(n)23.堆栈定义:是一种只允许在表的一端进行插入操作和删除操作的线性表。
北航《算法与数据结构》在线作业二单选题一、单选题(共25 道试题,共100 分。
)1. 对顺序表上的插入、删除算法的时间复杂性分析来说,通常以()为标准操作A. 条件判断B. 结点移动C. 算术表达式D. 赋值语句-----------------选择:B2. 在一个单链表HL中,若要向表头插入一个由指针p指向的结点,则执行()。
A. HL=p;p->next=HL;B. p->next=HL;HL=p;C. p->next=HL;p=HL;D. p->next=HL->next;HL->next=p;-----------------选择:B3. 线性表是一个具有n个()的有限序列。
A. 表元素B. 字符C. 数据元素D. 数据项-----------------选择:C4. 若给定的关键字集合为{20,15,14,18,21,36,40,10},一趟快速排序结束时,键值的排列为( )。
A. 10,15,14,18,20,36,40,21B. 10,15,14,18,20,40,36,21C. 10,15,14,20,18,40,36,21D. 15,10,14,18,20,36,40,21-----------------选择:A5. 按照二叉树的定义,具有3个结点的二叉树有()种。
A. 3B. 4C. 5D. 6-----------------选择:C6. 下列有关图遍历的说法中不正确的是()。
A. 连通图的深度优先搜索是个递增过程B. 图的广度优先搜索中邻接点的寻找具有“先进先出”的特征C. 非连通图不能用深度优先搜索法D. 图的遍历要求每个顶点仅被访问一次-----------------选择:C7. Substr('DATA STRUCTURE',5,9)=()。
A. STRUCTURE'B. 'ASTUCTUR'C. 'DATA STRUCTRUE'。
2013年''数据结构与C程序设计〃(代码991)试题一、单项选择题(本题共20分,每小题各2分)1.对于长度为n的线性表,建立其对应的収链表的时间复朵度为()。
A.0(1): B・ O(log2n):・ O(n): D・ O(n2)n2.一般情况下,在一个双向链表中插入一个新的链结点,()。
A.需耍修改4个抬针域内的指针:B・需要修改3个指针域内的抬针:C.需要修改2个抬针域内的抬针:D.只需要修改1个指针域内的抬针。
3.假设用单个字母表示中缀表达式中的一个运算数(或称运算对彖).并利用堆栈产生中缀表达式对应的后缀表达式。
对于中缀表达式A+B^C/D-E),十从左至右扫描到运算数E时,堆栈中的运算符依次是()。
(注:不包含表达式的分界符)A.+*/-:B. +*(/-: C・ +*-:・ +*(-o4.若某二叉排序树的前序遍历序列为50,20,40,30,80,60,70,则后序遍历序列为()。
A. 30,40,20,50,70,60,80:B. 30,40,20,70,60,80,50:C. 70,60,80,50,30,40,20:D. 70,60,80,30,40,20,50.5.分别以6, 3, 8, 12, 5, 7对应叶结点的权值构造的哈夫曼(Huffman)树的深度为()。
A. 6: B・ 5: C・ 4: D・ 3。
&下列关于图的叙述中,错误的是()0A.根据图的定义,图中至少有一个顶点:B.根据图的定义.图中至少有一个顶点和一条边(弧):C.具有n个顶点的无向图最多有n(n-l)/2条边:D.具有n个顶点的有向图最多有n(n-l)条边(弧)。
7.若在有向图G的拓扑序列中.顶点W在顶点vj之前,则下列4种情形中不可能岀现的是()。
A.G 中有弧vvi,vj>:B.G 中没有3ft<vi r vj>;c. G中有一条从顶点W到顶点vj的路径:D・G中有一条从顶点vj到顶点vi的路径。
祝同学们新学期愉快学习进步!课程名称:数据结构教材名称:《数据结构教程》唐发根刘又诚编著北京航空航天大学出版社1996《数据结构》唐发根编著科学出版社1998开设本课程的必要性以及课程的特点:1. 计算机专业重要的专业基础课之一.2. 需要有关“程序设计语言”和“离散数学”的知识作为课程的基础.3. 实践性较强.第一章绪论1.1 什么是数据结构描述客观事物的数字、字符以及一切能够输入到计算机中,并且能够被计算机程序处理的符号的集合。
数据这个集合中的一个一个元素。
具有相同特性的数据元素的集合。
数据元素之间具有的关系(联系)。
数据数据元素数据对象结构一. 名词术语二. 数据结构的定义1.数据元素之间的联系称之为结构,数据结构就是具有结构的数据元素的集合。
2. 数据结构是一个二元组Data-Structure=(D,R)其中,D是数据元素的有限集合,R是D上的关系的集合。
数据元素之间具有的逻辑关系(结构)。
线性关系(线性结构)如线性表、数组、堆栈、队列、串、文件等具有某种逻辑结构的数据在计算机存储器中的存储方式(存储映象)。
物理结构也被称为存储结构。
顺序存储结构链式存储结构用一组地址连续的存储单元依次存放数据元素,数据元素之间的逻辑关系通过元素的地址直接反映。
用一组地址任意的存储单元依次存放数据元素,数据元素之间的逻辑关系通过指针间接地反映。
非线性关系(非线性结构)如树、二叉树、图等物理结构逻辑结构例刘晓光马广生王民…张玉华男男…女男汉回壮…汉161721…25……………姓名性别民族年龄其他逻辑结构:线性结构(线性表)a 1a 2a 3 a 30…d 1d 2 d 3d 4…d 30a 2a 1a 3a 4a 30存储结构:1. 顺序存储结构:2. 链式存储结构:…d 1d 2 d 3d 4a 1a 2a 3a 30∧list…a 2a 1a 4a 3d 4d 1d 5d31.研究数据元素之间的客观联系。
北航(北京航空航天大学)计算机考研科目包含以下内容,具体要求可能会有一定的变化,建议在报名前查阅北航的招生信息和考试大纲,以获取最新的考试科目和要求。
1.计算机组成原理:涉及计算机硬件系统的结构和功能,包括数字逻辑、处理器设计、存储器层次结构、输入输出系统等。
2.操作系统:重点学习操作系统的基本原理、进程管理、内存管理、文件系统、设备管理、死锁处理等。
3.数据结构与算法:包括常见数据结构(如数组、链表、栈、队列、树、图等)的基本概念、实现方式和常用算法(如排序、查找、图算法等)的设计与分析。
4.计算机网络:涵盖计算机网络的基本概念、协议体系结构、局域网与广域网技术、传输层协议(如TCP和UDP)、网络安全等。
5.数据库系统:学习数据库的基本概念、关系数据库理论、SQL语言、数据库设计与管理、事务处理与并发控制、数据仓库与数据挖掘等。
6.软件工程:重点涉及软件开发过程、需求分析与建模、软件设计原则与方法、软件测试与质量保证、软件项目管理等。
此外,北航计算机考研还可能包括一些选修科目,如人工智能、机器学习、图像处理、编译原理等。
在备考过程中,您可以参考相关教材和资料,系统学习每个科目的基本概念、原理和应用。
北航软件工程考研科目北航软件工程考研科目多,包括计算机基础、数学知识、算法与数据结构、操作系统、软件工程与软件测试等。
这些科目在考研中具有重要的地位,对于考生来说是不容忽视的。
下面,让我为大家详细介绍一下北航软件工程考研科目。
首先,计算机基础是软件工程考研中的重点科目之一。
它涉及计算机体系结构、计算机网络、操作系统、数据库原理等方面的知识。
在复习这门科目时,我们需要对计算机原理和相关技术有一个全面的了解,同时也要注重理论与实践相结合,能够掌握一些常用的编程语言和开发工具,这样才能更好地应对考试。
其次,数学知识是软件工程考研中的基础科目,也是许多考生觉得比较困难的科目之一。
但是,只要我们在复习时合理安排时间,系统学习数学基础知识,多做一些题目,通过掌握数学思维和解题技巧,相信我们都能够取得不错的成绩。
然后,算法与数据结构也是软件工程考研中的重要科目。
它们是软件开发中最基础的内容,对于提高编程能力和解决实际问题非常重要。
在复习这门科目时,我们需要掌握常用的算法和数据结构,并能够熟练地应用它们解决实际问题。
此外,多做一些算法题目和编程练习也是很有必要的。
此外,操作系统是软件工程考研中的一门重要科目。
它是软件开发中的关键环节,涉及进程管理、内存管理、文件系统等方面的知识。
在复习这门科目时,我们需要理解操作系统的基本原理和设计思想,掌握操作系统的核心概念和常用算法,同时也要熟悉一些实际的操作系统,如UNIX和Windows。
最后,软件工程与软件测试是软件工程考研中的重要科目之一。
它们是软件开发中不可或缺的环节,包括软件需求分析、软件设计、软件测试等方面的知识。
在复习这门科目时,我们需要了解软件工程的基本概念和软件开发过程,同时也要掌握软件测试的基本原理和常用技术,能够灵活运用测试方法和工具进行软件测试。
综上所述,北航软件工程考研科目涉及计算机基础、数学知识、算法与数据结构、操作系统、软件工程与软件测试等方面的知识。
北航信息类大二分科
北航信息类大二分科有以下几个方向:
1. 计算机科学与技术:主要研究计算机系统、软件技术、计算机网络等方面的知识,培养学生具备计算机系统设计、开发和应用的能力。
具体课程包括操作系统、数据结构与算法、计算机组成原理、数据库原理等。
2. 软件工程:侧重于培养学生掌握软件开发的理论和技术,具备软件需求分析、设计、实现和测试的能力。
相关课程包括软件工程基础、软件质量保证、软件项目管理等。
3. 人工智能:专注于培养学生在人工智能领域的理论和技术能力,包括机器学习、自然语言处理、计算机视觉等方面。
相关课程包括智能计算导论、模式识别、机器学习等。
4. 网络工程:主要研究计算机网络的原理、协议和技术,培养学生具备网络设计、配置和管理的能力。
相关课程包括计算机网络原理、网络安全与管理、网络协议等。
5. 数字媒体技术:注重培养学生在数字媒体制作、图像处理、音视频处理等方面的能力,涉及课程有数字图像处理、计算机动画技术、多媒体技术等。
以上仅列举了北航信息类大二分科的部分方向,学生可以根据自己的兴趣和职业规划选择适合自己的方向进行深入学习。
北航计算机考研参考书一、引言随着我国教育事业的发展,越来越多的人选择考研作为进一步提升自己能力的途径。
在北京航空航天大学(北航)的计算机专业考研中,参考书的作用不言而喻。
本文将为大家介绍北航计算机考研的参考书籍,并分析其重要性,以帮助考生们更有效地备考。
二、北航计算机考研参考书概述在北航计算机考研备考过程中,以下书籍被认为是必备参考书:1.数据结构与算法:深入浅出地讲解数据结构与算法的基本概念、原理和应用,对于提高考生的编程能力和解决实际问题具有重要意义。
2.操作系统:该书详细介绍了操作系统的原理、设计与实现,有助于考生掌握操作系统的基本知识和实践技能。
3.计算机网络:该书系统地讲解计算机网络的原理、体系结构和协议,是考生备考计算机网络科目的重要参考资料。
4.计算机组成原理:该书从基本概念出发,深入剖析计算机组成原理,有助于考生理解计算机硬件的基本工作原理。
5.软件工程:该书以实际项目为背景,讲解软件开发的全过程,有助于考生提高软件工程实践能力。
6.计算机基础:涵盖计算机科学基本概念、方法和技术的书籍,对于巩固考生的计算机基础知识具有重要意义。
三、各科目参考书推荐以下是针对北航计算机考研各科目的参考书推荐:1.数据结构与算法:推荐使用《算法导论》、《数据结构与算法分析》等书籍。
2.操作系统:推荐使用《现代操作系统》、《操作系统概念》等书籍。
3.计算机网络:推荐使用《计算机网络》、《TCP/IP详解》等书籍。
4.计算机组成原理:推荐使用《计算机组成与设计》、《计算机组成原理》等书籍。
5.软件工程:推荐使用《软件工程:实践者的观点》、《软件工程教程》等书籍。
6.计算机基础:推荐使用《计算机科学导论》、《计算机科学基础》等书籍。
四、如何高效使用参考书1.制定学习计划:根据自己的实际情况,合理安排学习时间,确保每个科目都能得到充分复习。
2.注重实践与应用:在学习过程中,要注重将所学知识运用到实际问题中,提高解决问题的能力。
991“数据结构与C语言程序设计”考试大纲(2019版)2019年“数据结构与C语言程序设计”考试内容包括“数据结构”与“C语言程序设计”两门课程的内容,各占比例50%。
试卷满分为150分。
“数据结构”部分一、概述1.数据的逻辑结构与存储结构的基本概念;2.算法的定义、基本性质以及算法分析的基本概念,包括采用大 形式表示时间复杂度和空间复杂度。
二、线性表1.线性关系、线性表的定义,线性表的基本操作;2.线性表的顺序存储结构与链式存储结构(包括单(向)链表、循环链表和双向链表)的构造原理;3.在以上两种存储结构的基础上对线性表实施的基本操作,包括顺序表的插入与删除、链表的建立、插入与删除、查找等操作对应的算法设计(含递归算法的设计)。
三、数组1.一维数组和二维数组的存储;2.矩阵的压缩存储的基本概念;3.对称矩阵、对角矩阵以及三角矩阵的压缩存储。
四、堆栈与队列1.堆栈与队列的基本概念与基本操作;2.堆栈与队列的顺序存储结构与链式存储结构的构造原理;3.在不同存储结构的基础上对堆栈与队列实施插入与删除等基本操作的算法设计;4.堆栈和队列在解决实际问题中应用。
五、树与二叉树1.树与二叉树的基本概念,基本特征、名词术语;2.完全二叉树与满二叉树的基本概念,二叉树的基本性质及其应用;3.二叉树的顺序存储结构与二叉链表存储结的基本原理;4.二叉树的前序遍历、中序遍历、后序遍历和按层次遍历,重点是二叉树在以二叉链表作为存储结构基础上各种遍历算法(包括非递归算法)的设计与应用;5.二叉排序树的基本概念、建立(插入)、查找以及平均查找长度ASL的计算。
六、图1.图的基本概念、名词术语;2.图的邻接矩阵存储方法和邻接表(含逆邻接表)存储方法的构造原理及特点;3.图的深度优先搜索与广度优先搜索;4.最小(代价)生成树、最短路径、AOV网与拓扑排序的基本概念。
七、文件及查找1.顺序查找法以及平均查找长度(ASL)的计算;2.折半查找法以及平均查找长度(ASL)的计算,包括查找过程对应的“判定树”的构造;3.散列(Hash)表的构造、散列函数的构造,散列冲突的基本概念、处理散列冲突的基本方法以及散列表的查找和平均查找长度的计算。