当前位置:文档之家› 991数据结构与C语言程序设计考试大纲(2012版)

991数据结构与C语言程序设计考试大纲(2012版)

991数据结构与C语言程序设计考试大纲(2012版)
991数据结构与C语言程序设计考试大纲(2012版)

991数据结构与C语言程序设计考试大纲(2012版)

2012年《数据结构与C语言程序设计》考试内容包括“数据结构”与“C语言程序设计”两门课程的内容,各占比

例50%,试卷满分总分为150分。

《数据结构》部分

指定参考书:《数据结构教程(第二版)》唐发根编著北京航空航天大学出版社2005

(建议选用2010年7月第6次印刷的书)

一、概述

1.数据的逻辑结构与存储结构的基本概念;

2.算法的定义、基本性质以及算法分析的基本概念,包括采用大 形式表示时间和空间复杂度。

二、线性表

1.线性关系、线性表的定义,线性表的基本操作;

2.线性表的顺序存储结构与链式存储结构(包括单(向)链表、循环链表和双向链表)的构造原理;

3.在以上两种存储结构的基础上对线性表实施的基本操作,包括顺序表的插入与删除、链表的建立、插入与删除、查找等操作对应的算法设计(含递归算法的设计)。

三、堆栈与队列

1.堆栈与队列的基本概念与基本操作;

2.堆栈与队列的顺序存储结构与链式存储结构的构造原理;

3.在不同存储结构的基础上对堆栈与队列实施插入与删除等基本操作的算法设计;

4.堆栈和队列在解决实际问题中应用。

四、树与二叉树

1.树与二叉树的基本概念,基本特征、名词术语;

2.完全二叉树与满二叉树的基本概念,二叉树的基本性质;

3.二叉树与树、树林之间的转换;

4.二叉树的顺序存储结构与二叉链表存储结构;

5.二叉树的前序遍历、中序遍历、后序遍历和按层次遍历,以及在二叉链表基础上各种遍历算法(重点为非递归算法)的设计与应用;

6.线索二叉树的基本概念与构造;

7.二叉排序树的基本概念、建立(插入)、查找与平均查找长度ASL的计算;

8.哈夫曼(Huffman)树的基本概念,哈夫曼树的构造与带权路径长度(WPL)的计算。

五、图

1.图的基本概念、名词术语;

2.图的邻接矩阵存储方法和邻接表存储方法的基本构造原理及特点;

3.图的深度优先搜索与广度优先搜索;

4.最小(代价)生成树、最短路径、AOV网与拓扑排序以及AOE网与关键路径的基本概念与求

解过程。

六、文件及查找

1.顺序查找法、折半查找法以及查找过程对应的“判定树”的构造;

2.B-树和B+树的基本概念,B-树的插入与查找;

3.散列(Hash)表的构造、散列函数的构造,散列冲突的基本概念、处理散列冲突的基本方法以及散列表的查找和平均查找长度的计算。

七、内排序

1.排序的基本概念,包括各种内排序方法的排序原理及特点,在排序过程中进行的元素之间比较次数,排序的总趟数、稳定性问题及时间与空间复杂度计算;

2.插入排序法(含折半插入排序法);

3.选择排序法;

4.(起)泡排序法;

5.谢尔(shell)排序法;

6.快速排序法;

7.堆(积)排序法,包括堆积的定义与构造;

8.二路归并排序法。

《C语言程序设计》部分

指定参考书:《C程序设计第三版》谭浩强著,清华大学出版社2005

一、C语言基本知识

1.C语言的特点以及C语言程序的组成;

2.数据类型,包括整型、实型、字符型等常量与变量和变量的赋值;用typedef定义类型;

3.各种类型数据之间的混合运算;

4.各类运算符(包括自增、自减运算符)的运算规则与优先级,条件运算符;

5.算术表达式、关系表达式和逻辑表达式,逗号运算符和逗号表达式,表达式sizeof的含义。

二、语句

1.赋值语句(含条件赋值语句)、条件语句(含if、if-else、switch)、循环语句(含while、do-while、for语句,包括循环嵌套和break语句与continue语句);

2.输入/输出语句,包括整型、实型、字符型(含字符串)等类型数据的格式输入函数scanf和格式输出函数printf。

三、数组

1.一维数组和二维数组的定义、引用与初始化;

2.字符数组的定义、引用与初始化,字符数组的输入与输出,字符串和字符串处理函数。

四、函数

1.函数的定义,函数参数(形参和实参)与函数的返回值;

2.函数的调用,包括函数的嵌套调用和函数的递归调用;

3.命令行参数的基本概念,带参数的主函数的概念和应用。

五、宏定义

1.带参数的宏定义;

2.包含文件的处理。

六、指针

1.指针的基本概念,变量的指针与指向变量的指针变量,包括定义、引用以及指针变量作为函数参数;

2.数组与指针,包括指向数组的指针变量的定义与赋值、通过指针引用数组元素、数组名作为函数参数;

3.字符串与指针,指向字符串的指针变量。

七、结构体

1.结构体的基本概念和特点,结构体变量的初始化与引用;

2.结构体数组。

八、文件

1.C文件的基本概念,文本文件的类型指针FILE与文本文件的使用方式;

2.文本文件的打开(fopen函数)与关闭(fclose函数);

3.文本文件的状态,包括feof函数和ferror函数;

4.文本文件的读/写,包括fputc函数和fgetc函数、fgets函数与fputs函数等;

5.文本文件的输入函数fscanf和输出函数fprintf。

全国自学考试数据结构导论试题及答案(4套)

全国2011年1月自学考试数据结构导论试题 课程代码:02142 一、单项选择题(本大题共15小题,每小题2分,共30分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.在顺序表中查找第i个元素,时间效率最高的算法的时间复杂度为( ) A.O(1) B.O(n) C.O(log2n) D.O(n) 2.树形结构中,度为0的结点称为( ) A.树根 B.叶子 C.路径 D.二叉树 3.已知有向图G=(V,E),其中V={V1,V2,V3,V4,V5,V6,V7},E={,,,},则图G的拓扑序列是 ( ) A.V1,V3,V4,V6,V2,V5,V7 B.V1,V3,V2,V6,V4,V5,V7 C.V1,V3,V4,V5,V2,V6,V7 D.V1,V2,V5,V3,V4,V6,V7 4.有关图中路径的定义,表述正确的是( ) A.路径是顶点和相邻顶点偶对构成的边所形成的序列 B.路径是不同顶点所形成的序列 C.路径是不同边所形成的序列 D.路径是不同顶点和不同边所形成的集合 5.串的长度是指( ) A.串中所含不同字母的个数 B.串中所含字符的个数 C.串中所含不同字符的个数 D.串中所含非空格字符的个数 6.组成数据的基本单位是( ) A.数据项 B.数据类型 C.数据元素 D.数据变量 7.程序段 i=n;x=0; do{x=x+5*i;i--;}while (i>0); 的时间复杂度为( ) A.O(1) B.O(n) C.O(n2) D.O(n3) 8.与串的逻辑结构不同的 ...数据结构是( ) A.线性表 B.栈 C.队列 D.树

数据结构C语言版期末考试试题(有答案)

“数据结构”期末考试试题 一、单选题(每小题2分,共12分) 1.在一个单链表HL中,若要向表头插入一个由指针p指向的结点,则执行( )。 A. HL=ps p一>next=HL B. p一>next=HL;HL=p3 C. p一>next=Hl;p=HL; D. p一>next=HL一>next;HL一>next=p; 2.n个顶点的强连通图中至少含有( )。 A.n—l条有向边 B.n条有向边 C.n(n—1)/2条有向边 D.n(n一1)条有向边 3.从一棵二叉搜索树中查找一个元素时,其时间复杂度大致为( )。 A.O(1) B.O(n) C.O(1Ogzn) D.O(n2) 4.由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为( )。 A.24 B.48 C. 72 D. 53 5.当一个作为实际传递的对象占用的存储空间较大并可能需要修改时,应最好把它说明为( )参数,以节省参数值的传输时间和存储参数的空间。 A.整形 B.引用型 C.指针型 D.常值引用型· 6.向一个长度为n的顺序表中插人一个新元素的平均时间复杂度为( )。 A.O(n) B.O(1) C.O(n2) D.O(10g2n) 二、填空题(每空1分,共28分) 1.数据的存储结构被分为——、——、——和——四种。 2.在广义表的存储结构中,单元素结点与表元素结点有一个域对应不同,各自分别为——域和——域。 3.——中缀表达式 3十x*(2.4/5—6)所对应的后缀表达式为————。 4.在一棵高度为h的3叉树中,最多含有——结点。 5.假定一棵二叉树的结点数为18,则它的最小深度为——,最大深度为——· 6.在一棵二叉搜索树中,每个分支结点的左子树上所有结点的值一定——该结点的值,右子树上所有结点的值一定——该结点的值。 7.当向一个小根堆插入一个具有最小值的元素时,该元素需要逐层——调整,直到被调整到——位置为止。 8.表示图的三种存储结构为——、——和———。 9.对用邻接矩阵表示的具有n个顶点和e条边的图进行任一种遍历时,其时间复杂度为——,对用邻接表表示的图进行任一种遍历时,其时间复杂度为——。 10.从有序表(12,18,30,43,56,78,82,95)中依次二分查找43和56元素时,其查找长度分别为——和——· 11.假定对长度n=144的线性表进行索引顺序查找,并假定每个子表的长度均

数据结构课程设计报告模板

《数据结构I》三级项目报告 大连东软信息学院 电子工程系 ××××年××月

三级项目报告注意事项 1. 按照项目要求书写项目报告,条理清晰,数据准确; 2. 项目报告严禁抄袭,如发现抄袭的情况,则抄袭者与被抄袭者均 以0分计; 3. 课程结束后报告上交教师,并进行考核与存档。 三级项目报告格式规范 1. 正文:宋体,小四号,首行缩进2字符,1.5倍行距,段前段后 各0行; 2. 图表:居中,图名用五号字,中文用宋体,英文用“Times New Roman”,位于图表下方,须全文统一。

目录 一项目设计方案 (3) 二项目设计分析 (4) 三项目设计成果 (4) 四项目创新创业 (5) 五项目展望 (6) 附录一:项目成员 (6) 附录二:相关代码、电路图等 (6)

一项目设计方案 1、项目名称: 垃圾回收 2、项目要求及系统基本功能: 1)利用数据结构的知识独立完成一个应用系统设计 2)程序正常运行,能够实现基本的数据增加、删除、修改、查询等功能3)体现程序实现算法复杂度优化 4)体现程序的健壮性 二项目设计分析 1、系统预期实现基本功能: (结合本系统预期具体实现,描述出对应基本要求(增、删、改、查等)的具体功能) 1. 2. 3. 4. 5. 6. 7. 2、项目模块功能描述 (基本分为组织实施组织、程序功能模块编写、系统说明撰写等。其中程序功能子模块实现) 模块一: 主要任务:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 模块二: 主要任务:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 模块n: 主要任务:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

数据结构课程设计_学生搭配问题

数据结构课程设计 题目: 学生搭配问题 学院: 班级: 学生姓名: 学生学号: 指导教师: 2012 年 12 月 3 日 课程设计任务书

摘要 针对学生搭配问题,循环队列是一种重要的链式结构,其特殊性在于需附设两个指针front和rear分别指示对头元素及队尾元素的位置且对头和队尾相邻接。在程序的设计过程中,运用了各种基本的算法,有判断队空及队满,出队,入队等.循环队列是在队列的顺序存储结构中,除了用乙组地址连续的存储单元依次存放从队列头到队列尾的元素外,尚需附设两个指针front和rear分别指示队列头元素和队列尾元素的位置。学生搭配问题是典型的只有采用循环队列才能解决的问题,实验表明该算法的空间复杂度优于其他算法。 本文用循环队列会很好的把这个程序设计出来,会有很好的效果。得出的程序运行结果能够很形象的把结果表示出来。 关键词:学生配对,数据结构,循环队列。

目录 摘要................................................... I 1 设计题目 (1) 2 运行环境 (1) 3 算法设计的思想 (1) 4 算法的流程图 (2) 5 算法设计分析 (2) 6 源代码 (3) 7 运行结果分析 (8) 8 收获及体会 (8) 参考文献 (9) 致 (9)

学生搭配问题 1.设计题目 一班有m个女生,有n个男生(m不等于n),现要开一个舞会. 男女生分别编号坐在舞池的两边的椅子上.每曲开始时,依次从男生和女生中各出一人配对跳舞, 本曲没成功配对者坐着等待下一曲找舞伴。请设计一系统模拟动态地显示出上述过程,要求如下: (1)输出每曲配对情况 (2)计算出任何一个男生(编号为X)和任意女生(编号为Y),在第K曲配对跳舞的情况.至少求出K的两个值。 2.运行环境 本课题的程序设计和测试等环节都是在Windows7操作系统下完成,软件的编译测试环境为vc6.0 以c语言编写的。软件的硬件运行需求非常低,任何计算机都可运行。 3.算法设计的思想 基本思路:队列(Queue)是只允许在一端进行插入,而在另一端进行删除的运算受限的线性表。 循环队列是在队列的顺序存储结构中,除了用乙组地址连续的存储单元依次存放从队列头到队列尾的元素外,尚需附设两个指针front和rear分别指示队列头元素和队列尾元素的位置。 循环队列(两个),将男生、女生两组人分别存放,以实现循环配对输出。循环队列的入队,出队,判队满,判队空。 (1)要模拟动态地显示出现题目中所要求的循环,我们要先建立两个循环队列SqQueue和SqQueue2。 (2)将男生、女生两组人分别存入这两个队列。以实现他们的循环配对输出,这是循环队列固有的特性。 (3)利用循环队列的特性,将男女生分别进行入队列和出队列操作,且实现搭配输出。 (4)循环队列的长度分别设为男女生的个数即可。 (5)在计算机终端输出的结果是:根据要求输出男生女生搭配情况 关键问题: 循环队列的应用 解决方法:数据模型(逻辑结构): 循环队列(两个),将男生、女生两组人分别存放,以实现循环配对输出。 存储结构: 循环链表

自考数据结构导论复习资料

数据结构导论复习 第一章概论 1.数据:凡能被计算机存储、加工处理的对象。 2.数据元素:是数据的基本单位,在程序中作为一个整体而加以考虑和处理 3.数据项:又叫字段或域,它是数据的不可分割的最小标识单位。 4.逻辑结构需要注意的几点: ①逻辑结构与数据元素本身的内容无关 ②逻辑结构与数据元素相对位置无关 ③逻辑结构与所有结点的个数无关 5.数据元素间逻辑关系是指数据元素之间的关联方式或称“领接关系”。 6.四类基本逻辑结构(集合、线性结构、树形结构和图形结构)的不同特点? 答:集合中任何两个结点之间都没有逻辑关系,组织形式松散; 线性结构中结点按逻辑关系依次排列形成一条“锁链”; 树形结构具有分支、层次特性,其形态有点像自然界中的树; 图状结构最复杂,其中的各个结点按逻辑关系互相缠绕,任何两个结点都可以领接。 7.运算是在逻辑结构层次上对处理功能的抽象

8.基本运算的含义? 答:假如是S上的一些运算的集合,是的一个子集,使得中每一运算都可以“归约”为中的一个或多个运算,而中任一运算不可归约为别的运算,则称中运算为基本运算 9.数据结构是指由一个逻辑结构S和S上的一个基本运算集构成的整体(S ,)。 10.数据结构涉及数据表示和数据处理两个方面 11.存储结构的含义和四种基本存储方式的基本思想? 答:存储结构是指按照逻辑结构的要求建立的数据的机内表示称为存储结构。 一个存储结构应包含三个主要的部分:存储结点、机内表示和附加设施。 存储结构包括四种存储方式,顺序存储方式、链式存储方式、索引存储方式和散列存储方式。 12.运算实现与运算的联系与区别? 答:运算指的是数据在逻辑结构S上的某种操作,运算只描述处理功能,不包括处理步骤和方法;而运算实现是指一个完成该运算功能的程序,运算实现的核心是处理步骤的规定,即算法设计。 13.算法的概念和分类? 答:算法是指规定了求解给定类型问题所需的所有“处理步骤”及其执行顺序,使得给定类型的任何问题能在有限时间内被

数据结构课程设计报告

《数据结构与算法》课程设计报告 学号: 班级序号: 姓名: 指导教师: 成绩: 中国地质大学信息工程学院地理信息系统系 2011年12 月

1.需求规格说明 【问题描述】 利用哈夫曼编码进行对已有文件进行重新编码可以大大提高减小文件大小,减少存储空间。但是,这要求在首先对一个现有文件进行编码行成新的文件,也就是压缩。在文件使用时,再对压缩文件进行解压缩,也就是译码,复原原有文件。试为完成此功能,写一个压缩/解压缩软件。 【基本要求】 一个完整的系统应具有以下功能: (1)压缩准备。读取指定被压缩文件,对文件进行分析,建立哈夫曼树,并给出分析结果(包括数据集大小,每个数据的权值,压缩前后文件的大小),在屏幕上输出。 (2)压缩。利用已建好的哈夫曼树,对文件进行编码,并将哈夫曼编码及文件编码后的数据一起写入文件中,形成压缩文件(*.Haf)。 (3)解压缩。打开已有压缩文件(*.Haf),读取其中的哈夫曼编码,构建哈夫曼树,读取其中的数据,进行译码后,写入文件,完成解压缩。 (4)程序使用命令行方式运行 压缩命令:SZip A Test.Haf 1.doc 解压缩命令:SZip X Test.Haf 2.doc或SZip X Test.Haf 用户输入的命令不正确时,给出提示。 (5)使用面向对象的思想编程,压缩/解压缩、哈夫曼构建功能分别构建类实现。 2.总体分析与设计 (1)设计思想: 1、压缩准备:1> 读文件,逐个读取字符,统计频率 2> 建立哈夫曼树 3> 获得哈弗曼编码 2、压缩过程: 1> 建立一个新文件,将储存权值和字符的对象数组取存储在文件头

东北大学秦皇岛分校2012级数据结构课程设计任务书-2班题目

34. 教学计划编制问题 设计要求:针对计算机系本科课程,根据课程之间的依赖关系(如离散数学应在数据结构之前开设)制定课程安排计划,并满足各学期课程数目大致相同。 35. 散列法的实验研究 散列法中,散列函数构造方法多种多样,同时对于同一散列函数解决冲突的方法也可以不同。两者是影响查询算法性能的关键因素。对于几种典型的散列函数构造方法,做实验观察,不同的解决冲突方法对查询性能的影响。 36. 括号匹配的检验 [问题描述] 假设表达式中允许有两种括号:圆括号和方括号,其嵌套的顺序随意,即(()[ ])或[([ ] [ ])]等为正确格式,[(])或(((]均为不正确的格式。检验括号是否匹配的方法可用“期待的紧迫程度”这个概念来描述。例如:考虑下列的括号序列: [([][])] 12345678 当计算机接受了第1个括号以后,他期待着与其匹配的第8个括号的出现,然而等来的却是第2个括号,此时第1个括号“[”只能暂时靠边,而迫切等待与第2个括号相匹配的第7个括号“)”的出现,类似的,因只等来了第3个括号“[”,此时,其期待的紧迫程度较第2个括号更紧迫,则第2个括号只能靠边,让位于第3个括号,显然第3个括号的期待紧迫程度高于第2个括号,而第2个括号的期待紧迫程度高于第1个括号;在接受了第4个括号之后,第3个括号的期待得到了满足,消解之后,第2个括号的期待匹配就成了最急迫的任务了,…… ,依次类推。可见这个处理过程正好和栈的特点相吻合。 [基本要求] 读入圆括号和方括号的任意序列,输出“匹配”或“此串括号匹配不合法”。 [测试数据] 输入([ ]()),结果“匹配” 输入[()],结果“此串括号匹配不合法” [实现提示] 设置一个栈,每读入一个括号,若是左括号,则作为一个新的更急迫的期待压入栈中;若是右括号,并且与当前栈顶的左括号相匹配,则将当前栈顶的左括号退出,继续读下一个括号,如果读入的右括号与当前栈顶的左括号不匹配,则属于不合法的情况。在初始和结束时,栈应该是空的。 [选作内容] 考虑增加大括号的情况。

数据结构c语言版期末考试复习试题

《数据结构与算法》复习题 一、选择题。 1在数据结构中,从逻辑上可以把数据结构分为 C 。 A ?动态结构和静态结构B.紧凑结构和非紧凑结构 C.线性结构和非线性结构 D.内部结构和外部结构 2?数据结构在计算机内存中的表示是指_A_。 A .数据的存储结构B.数据结构 C .数据的逻辑结构 D .数据元素之间的关系 3.在数据结构中,与所使用的计算机无关的是数据的A结构。 A .逻辑 B .存储C.逻辑和存储 D .物理 4.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储_C A .数据的处理方法 B .数据元素的类型 C.数据元素之间的关系 D .数据的存储方法 5.在决定选取何种存储结构时,一般不考虑A A .各结点的值如何C.对数据有哪些运算 B .结点个数的多少 D .所用的编程语言实现这种结构是否方 6.以下说法正确的是D A .数据项是数据的基本单位 B .数据元素是数据的最小单位 C.数据结构是带结构的数据项的集合 D .一些表面上很不相同的数据可以有相同的逻辑结构 7.算法分析的目的是 C ,算法分析的两个主要方面是 A 。 (1) A .找出数据结构的合理性B.研究算法中的输入和输出的关系 C .分析算法的效率以求改进C.分析算法的易读性和文档性 (2) A .空间复杂度和时间复杂度B.正确性和简明性 &下面程序段的时间复杂度是0( n2) s =0; for( I =0; i

数据模型所描述的内容包括三个部分

数据模型所描述的内容包括三个部分:数据结构、数据操作、数据约束。 1)数据结构:数据模型中的数据结构主要描述数据的类型、内容、性质以及数据间的联系等。数据结构是数据模型的基础,数据操作和约束都建立在数据结构上。不同的数据结构具有不同的操作和约束。 2)数据操作:数据模型中数据操作主要描述在相应的数据结构上的操作类型和操作方式。 3)数据约束:数据模型中的数据约束主要描述数据结构内数据间的语法、词义联系、他们之间的制约和依存关系,以及数据动态变化的规则,以保证数据的正确、有效和相容。 数据模型按不同的应用层次分成三种类型:分别是概念数据模型、逻辑数据模型、物理数据模型。 1、概念数据模型(Conceptual Data Model):简称概念模型,主要用来描述世界的概念化结构,它使数据库的设计人员在设计的初始阶段,摆脱计算机系统及DBMS的具体技术问题,集中精力分析数据以及数据之间的联系等,与具体的数据管理系统(Database Management System,简称DBMS)无关。概念数据模型必须换成逻辑数据模型,才能在DBMS中实现。 概念数据模型是最终用户对数据存储的看法,反映了最终用户综合性的信息需求,它以数据类的方式描述企业级的数据需求,数据类代表了在业务环境中自然聚集成的几个主要类别数据。 概念数据模型的内容包括重要的实体及实体之间的关系。在概念数据模型中不包括实体的属性,也不用定义实体的主键。这是概念数据模型和逻辑数据模型的主要区别。 概念数据模型的目标是统一业务概念,作为业务人员和技术人员之间沟通的桥梁,确定不同实体之间的最高层次的关系。 在有些数据模型的设计过程中,概念数据模型是和逻辑数据模型合在一起进行设计的。 2、逻辑数据模型(Logical Data Model):简称数据模型,这是用户从数据库所看到的模型,是具体的DBMS所支持的数据模型,如网状数据模型(Network Data Model)、层次

数据结构课程设计报告模板

课程设计说明书 课程名称:数据结构 专业:班级: 姓名:学号: 指导教师:成绩: 完成日期:年月日

任务书 题目:黑白棋系统 设计内容及要求: 1.课程设计任务内容 通过玩家与电脑双方的交替下棋,在一个8行8列的方格中,进行棋子的相互交替翻转。反复循环下棋,最后让双方的棋子填满整个方格。再根据循环遍历方格程序,判断玩家与电脑双方的棋子数。进行大小判断,最红给出胜负的一方。并根据y/n选项,判断是否要进行下一局的游戏。 2.课程设计要求 实现黑白两色棋子的对峙 开发环境:vc++6.0 实现目标: (1)熟悉的运用c语言程序编写代码。 (2)能够理清整个程序的运行过程并绘画流程图 (3)了解如何定义局部变量和整体变量; (4)学会上机调试程序,发现问题,并解决 (5)学习使用C++程序来了解游戏原理。 (6)学习用文档书写程序说明

摘要 本文的研究工作在于利用计算机模拟人脑进行下黑白棋,计算机下棋是人工智能领域中的一个研究热点,多年以来,随着计算机技术和人工智能技术的不断发展,计算机下棋的水平得到了长足的进步 该程序的最终胜负是由棋盘上岗双方的棋子的个数来判断的,多的一方为胜,少的一方为负。所以该程序主要运用的战术有削弱对手行动战术、四角优先战术、在游戏开局和中局时,程序采用削弱对手行动力战术,即尽量减少对手能够落子的位置;在游戏终局时则采用最大贪吃战术,即尽可能多的吃掉对手的棋子;而四角优先战术则是贯穿游戏的始终,棋盘的四角围稳定角,不会被对手吃掉,所以这里是兵家的必争之地,在阻止对手进角的同时,自己却又要努力的进角。 关键词:黑白棋;编程;设计

数据结构课程设计要求

一、数据结构课程设计要求 1. 学生必须仔细阅读《数据结构》课程设计方案,认真主动完成课设的要求。有问题及时主动通过各种方式与教师联系沟通。 2. 学生要发挥自主学习的能力,充分利用时间,安排好课设的时间计划,并在课设过程中不断检测自己的计划完成情况, 二、数据结构课程设计题目 1. 运动会分数统计(限 1 人完成) 任务:参加运动会有n个学校,学校编号为 1 n。比赛分成m个男子项目,和w个女子项目。项目编号为男子 1 ............................ m,女子m+1??…m+w。不同的项目取前五名或前三名积 分;取前五名的积分分别为:7、5、3、2、1 ,前三名的积分分别为:5、3、2;哪些取前五 名或前三名由学生自己设定。(m<=20,n<=20 ) 功能要求: 1)可以输入各个项目的前三名或前五名的成绩; 2)能统计各学校总分, 3)可以按学校编号或名称、学校总分、男女团体总分排序输出; 4)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。 5)数据存入文件并能随时查询 6)规定:输入数据形式和范围:可以输入学校的名称,运动项目的名称输出形式:有中文提示,各学校分数为整形 界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。 存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。(数据文件的数据读写方法等相关内容在 c 语言程序设计的书上,请自学解决) 请在最后的上交资料中指明你用到的存储结构; 测试数据:要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明; 2. 飞机订票系统(限1 人完成)任务:通过此系统可以实现如下功能:录入:可以录入航 班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)查询: 可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓); 可以输入起飞抵达城市,查询飞机航班情况;订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;退票:可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。修改航班信息: 当航班信息改变可以修改航班数据文件要求: 根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能; 3. 文章编辑(限 1 人完成)功能:输入一页文字,程序可以统计出文字、数字、空格的个数。静态存储一页文章,每行最多不超过80 个字符,共N 行;要求(1)分别统计出其中英文字母数和空格数及整篇文章总字数;(2)统计某一字符串在文章中出现的次数,并输出该次数;(3)删除某一子串,并将后面的字符前移。 存储结构使用线性表,分别用几个子函数实现相应的功能;输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。输出形式:(1)分行输出用户输入的各行字符;(2)分 4 行输出"全部字母数"、"数字个数" 、"空格个数"、"文章总字数" (3)输出删除某一字符串后的文章;

自考数据结构导论

全国2014年4月高等教育自学考试 数据结构导论试题 课程代码:02142 请考生按规定用笔将所有试题的答案涂、写在答题纸上。 选择题部分 注意事项: 1.答题前,考生务必将自己的考试课程名称、姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上。 2.每小题选出答案后,用2B铅笔把答题纸上对应题目的答案标号涂黑。如需改动,用橡皮擦干净后,再选涂其他答案标号。不能答在试题卷上。 一、单项选择题(本大题共15小题,每小题2分,共30分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸”的相应代码涂黑。错涂、多涂或未涂均无分。 1.下列几种算法时间复杂度中,最小的是( A ) A.O(log2n) B.O(n) C.O(n2) D.O(1) 2.数据的存储方式中除了顺序存储方式和链式存储方式之外,还有( D ) A.索引存储方式和树形存储方式 B.线性存储方式和散列存储方式 C.线性存储方式和索引存储方式 D.索引存储方式和散列存储方式 3.表长为n的顺序表中做删除运算的平均时间复杂度为( C ) A.O(1) B.O(log2n) C.O(n) D.O(n2) 4.顺序表中定位算法(查找值为x的结点序号最小值)的平均时间复杂度为( C ) A.O(1) B.O(log2n) C.O(n) D.O(n2) 5.元素的进栈次序为A,B,C,D,E,出栈的第一个元素为E,则第四个出栈的元素为( C ) A.D B.C C.B D.A 6.带头结点的链队列中,队列头和队列尾指针分别为front和rear,则判断队列空的条件为( A ) A.front==rear B.front!=NULL C.rear!==NULL D.front==NULL 7.深度为5的二叉树,结点个数最多为( A )

数据结构(c语言版)期末考试复习试题

《数据结构与算法》(c语言版)期末考复习题 一、选择题。 1.在数据结构中,从逻辑上可以把数据结构分为 C 。 A.动态结构和静态结构B.紧凑结构和非紧凑结构 C.线性结构和非线性结构D.内部结构和外部结构 2.数据结构在计算机内存中的表示是指 A 。 A.数据的存储结构B.数据结构C.数据的逻辑结构D.数据元素之间的关系 3.在数据结构中,与所使用的计算机无关的是数据的 A 结构。 A.逻辑B.存储C.逻辑和存储D.物理 4.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储 C 。A.数据的处理方法B.数据元素的类型 C.数据元素之间的关系D.数据的存储方法 5.在决定选取何种存储结构时,一般不考虑 A 。 A.各结点的值如何B.结点个数的多少 C.对数据有哪些运算D.所用的编程语言实现这种结构是否方便。 6.以下说法正确的是 D 。 A.数据项是数据的基本单位

B.数据元素是数据的最小单位 C.数据结构是带结构的数据项的集合 D.一些表面上很不相同的数据可以有相同的逻辑结构 7.算法分析的目的是 C ,算法分析的两个主要方面是 A 。(1)A.找出数据结构的合理性B.研究算法中的输入和输出的关系C.分析算法的效率以求改进C.分析算法的易读性和文档性(2)A.空间复杂度和时间复杂度B.正确性和简明性 C.可读性和文档性D.数据复杂性和程序复杂性 8.下面程序段的时间复杂度是O(n2) 。 s =0; for( I =0; i

数据结构课程设计报告

编号 课程设计 题目 1、一元稀疏多项式计算器 2、模拟浏览器操作程序 3、背包问题的求解 4、八皇后问题 二级学院计算机科学与工程学院 专业计算机科学与技术 班级 2011级 37-3班 学生姓名 XX 学号 XXXXXXXXXX 指导教师 XXXXX 评阅教师 时间 1、一元稀疏多项式计算器 【实验内容】 一元稀疏多项式计算器。

【问题描述】 设计一个一元稀疏多项式简单计算器。 【需求分析】 其基本功能包括: (1)输入并建立多项式; (2)输出多项式,输出形式为整数序列为:n,c1,e1,c2,e2,……,cn,en,其中n 是多项式的项数,ci,ei分别是第i项的系数和指数,序列按指数降序排序;(3)多项式a和b相减,建立多项a+b; (4)多项式a和b相减,建立多项式a-b; (5)计算多项式在x处的值; (6)计算器的仿真界面(选做); 【概要设计】 -=ADT=- { void input(Jd *ha,Jd *hb); void sort(dnode *h)

dnode *operate(dnode *a,dnode *b) float qiuzhi(int x,dnode *h) f",sum); printf("\n"); } 【运行结果及分析】 (1)输入多项式:

(2)输出多项式(多项式格式为:c1x^e1+c2x^e2+…+cnx^en): (3)实现多项式a和b相加: (4)实现多项式a和b相减: (5)计算多项式在x处的值:

2、模拟浏览器操作程序 【实验内容】 模拟浏览器操作程序 【问题描述】 标准Web浏览器具有在最近访问的网页间后退和前进的功能。实现这些功能的一个方法是:使用两个栈,追踪可以后退和前进而能够到达的网页。在本题中,要求模拟实现这一功能。 【需求分析】 需要支持以下指令: BACK:将当前页推到“前进栈”的顶部。取出“后退栈”中顶端的页面,使它成为当前页。若“后退栈”是空的,忽略该命令。 FORWARD:将当前页推到“后退栈”的顶部。取出“前进栈”中顶部的页面,使它成为当前页。如果“前进栈”是空的,忽略该命令。 VISIT:将当前页推到“后退栈”的顶部。使URL特指当前页。清空“前进栈”。 QUIT:退出浏览器。 假设浏览器首先加载的网页URL是:http:

数据结构课程设计

福建工程学院课程设计 课程:数据结构课程设计 题目: 1.综合应用 2.折半查找 3.快速排序 专业:软件工程 班级:1101 座号:3110305129 姓名:潘聪 2012 年 6 月26 日

设计题目1:综合应用 一、问题描述 有N名学生,每名学生含有如下信息:学号、姓名、某四门课的成绩,并计算其总分,用一结构数组表示之。然后实现以下功能: (1)将这些数据存放至文件stuf.dat中; (2)将文件中的数据读出至结构数组中,并显示之; (3)输出总分最高分和最低分的名字; (4)输出总分在340分,单科成绩不低于80分的名单; (5)求出各科平均分数; (6)按总分排名; (7)输出补考名单。 二、解决问题的算法思想描述 (1)子函数:首先确定需要的子函数,总共7个,对应的功能分别是题目要求的七项(2)主函数:主函数中,要设计出易于使用的人机界面,就必须要用到switch 。 (3)文件的存放读取,必须要用到文件的函数,fopen,fread,fclose等。 (4)把每个学生的信息定义在一个结构数组中,利用结构数组更加方便。 (5)各科成绩排名用冒泡排序即可。 (6)输出总分,补考名单,各科的平均分都比较简单。 三、设计 1. 数据结构的设计和说明 //定义结构体 typedef struct { int num; //学号 char name[10]; //姓名 int score1; //语文 int score2; //数学 int score3; //物理 int score4; //化学 }student; student stu[MAX]; //结构数组 2.模块结构图及各模块的功能:

2010年1月自考数据结构导论真题

全国2010年1月自学考试数据结构导论试题 课程代码:02142 一、单项选择题(本大题共15小题,每小题2分,共30分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.下述文件中适合于磁带存储的是() A.顺序文件 B.索引文件 C.散列文件 D.多关键字文件 2.某二叉树的后根遍历序列为dabec,中根遍历序列为debac,则先根遍历序列为() A.acbed B.becab C.deabc D.cedba 3.含有n个结点的二叉树用二叉链表表示时,空指针域个数为( ) A.n-1 B.n C.n+1 D.n+2 4.在一个图中,所有顶点的度数之和与图的边数的比是( ) A.1∶2 B.1∶1 C.2∶1 D.4∶1 5.长度为n的链队列用单循环链表表示,若只设头指针,则出队操作的时间复杂度为( ) A.O(1) B.O(1og2n) C.O(n) D.O(n2) 6.下述几种排序方法中,要求内存量最大的是( ) A.插入排序 B.快速排序 C.归并排序 D.选择排序 7.对n个不同值进行冒泡排序,在元素无序的情况下比较的次数为( ) A.n-1 B.n C.n+1 D.n(n-1)/2 8.对线性表进行二分查找时,要求线性表必须( ) A.以顺序方式存储 B.以链式方式存储 C.以顺序方式存储,且结点按关键字有序排列 D.以链接方式存储,且结点按关键字有序排列 9.在表长为n的顺序表上做删除运算,其平均时间复杂度为( ) A.O(1) B.O(n)

C.O(nlog2n) D.O(n2) 10.当利用大小为n的数组顺序存储一个队列时,该队列的最大容量为( ) A.n-2 B.n-1 C.n D.n+1 11.有关插入排序的叙述,错误的 ...是( ) A.插入排序在最坏情况下需要O(n2)时间 B.插入排序在最佳情况可在O(n)时间内完成 C.插入排序平均需要O(nlog2n)时间 D.插入排序的空间复杂度为O(1) 12.有关树的叙述正确的是( ) A.每一个内部结点至少有一个兄弟 B.每一个叶结点均有父结点 C.有的树没有子树 D.每个树至少有一个根结点与一个叶结点。 13.循环队列存储在数组元素A[0]至A[m]中,则入队时的操作为( ) A.rear=rear+1 B.rear=(rear+1)%(m-1) C.rear=(rear+1)%m D.rear=(rear+1)%(m+1) 14.关于串的的叙述,不正确 ...的是( ) A.串是字符的有限序列 B.空串是由空格构成的串 C.替换是串的一种重要运算 D.串既可以采用顺序存储,也可以采用链式存储 15.对称矩阵A[N][N],A[1][1]为首元素,将下三角(包括对角线)元素以行优先顺序存储到一维数组元素T[1]至T[N(N+1)/2]中,则任一上三角元素A[i][j]存于T[k]中,下标k为( ) A.i(i-1)/2+j B.j(j-1)/2+i C.i(j-i)/2+1 D.j(i-1)/2+l 二、填空题(本大题共13小题,每小题2分,共26分) 请在每小题的空格中填上正确答案。错填、不填均无分。 16.下列程序段的时间复杂度为____________。 for(i=1;i<=n;i++) for(j=1;j<=n;j++) for(k=1;k<=n;k++) s=i+j+k; 17.在数据结构中,各个结点按逻辑关系互相缠绕,任意两个结点可以邻接的结构称为____________。

数据结构(C语言版)期末复习

数据结构(C语言版)期末复习汇总 第一章绪论 数据结构:是一门研究非数值计算程序设计中的操作对象,以及这些对象之间的关系和操作的学科。 数据结构分为:逻辑结构、物理结构、操作三部分 逻辑结构:集合、线性结构、树形结构、图(网)状结构 物理结构(存储结构):顺序存储结构、链式存储结构 算法:是为了解决某类问题而规定的一个有限长的操作序列。 算法五个特性:有穷性、确定性、可行性、输入、输出 评价算法优劣的基本标准(4个):正确性、可读性、健壮性、高效性及低存储量 语句频度的计算。 算法的时间复杂度: 常见有:O(1),O(n),O(n2),O(log2n),O(nlog2n),O(2n) 第二章线性表 线性表的定义和特点: 线性表:由n(n≥0)个数据特性相同的元素构成的有限序列。线性表中元素个数n(n≥0)定义为线性表的长度,n=0时称为空表。 非空线性表或线性结构,其特点: (1)存在唯一的一个被称作“第一个”的数据元素; (2)存在唯一的一个被称作“最有一个”的数据元素; (3)除第一个之外,结构中的每个数据元素均只有一个前驱; (4)除最后一个之外,结构中的每个数据元素均只有一个后继。 顺序表的插入:共计n个元素,在第i位插入,应移动(n-i+1)位元素。 顺序表的删除:共计n个元素,删除第i位,应移动(n-i)位元素。 线性表的两种存储方式:顺序存储、链式存储。 顺序存储 概念:以一组连续的存储空间存放线性表; 优点:逻辑相邻,物理相邻;可随机存取任一元素;存储空间使用紧凑; 缺点:插入、删除操作需要移动大量的元素;预先分配空间需按最大空间分配,利用不充分;表容量难以扩充; 操作:查找、插入、删除等 查找: ListSearch(SqlList L,ElemType x,int n) { int i; for (i=0;i

数据结构课程设计报告

数据结构课程设计 设计说明书 TSP 问题 起止日期:2016 年 6 月27 日至2016 年7 月 1 日 学生姓名 班级 学号 成绩 指导教师( 签字) 2016 年7 月 1 日

目录 第1 章需求分析.................................................................................1... 1.1 简介 (1) 1.2 系统的开发背景 (1) 1.3 研究现状 (1) 第2 章概要设计.................................................................................2... 2.1 系统开发环境和技术介绍 (2) 2.2 系统需求分析 (2) 2.2.1 总体功能分析 (2) 2.2.2 核心功能分析 (3) 第3 章详细设计...................................................................................4... 3.1 系统开发流程 (4) 3.2 系统模块设计 (4) 3.3 系统结构 (6) 3.2 系统流程图 (6) 第4 章调试分析...................................................................................7... 4.1 程序逻辑调试 (7) 4.2 系统界面调试 (8) 第5 章测试结果...................................................................................9... 5.1 测试环境 (9) 5.2 输入输出测试项目 (9) 5.3 测试结果 (10) 结论.....................................................................................................1..1.. 参考文献................................................................................................1..1. 附录.......................................................................................................1..2..

数据结构课程设计报告要求及模板2012-2013(1)

数据结构课程设计报告撰写要求 (一)纸张与页面要求 1.采用国际标准A4型打印纸或复印纸,纵向打印。 2.封页和页面按照下面模板书写(正文为:小四宋体1.5倍行距)。 3.图表及图表标题按照模板中的表示书写。 (二)课设报告书的内容应包括以下各个部分:(按照以下顺序装订) 1.封页(见课设模版) 2.任务书(学生教师均要签字,信息填写完整) 3.目录 4.正文一般应包括以下内容: (1)题目介绍和功能要求(或描述) 课程设计任务的详细描述(注意不能直接抄任务书),将内容做更详细的具体的分析与描述; (2) 系统功能模块结构图 绘制系统功能结构框图及主要模块的功能说明; (3) 使用的数据结构的描述: 数据结构设计及用法说明; (4) 涉及到的函数的描述 ; (5) 主要算法描述( 程序流程图) (6) 给出程序测试/运行的结果 设计多组数据加以描述(包括输入数据和输出结果) (7) 参考文献 格式要求:[序号]作者,等. 书名.出版地:出版社,出版年 5. 附录:程序清单 (应带有必要的注释) 6. 课程设计的总结及评语

沈阳航空航天大学 课程设计报告 课程设计名称:数据结构课程设计 课程设计题目:个人事务提醒工具软件设计 院(系):计算机学院 专业:网络工程 班级:14010201 学号:2011040102004 姓名:李舒敏 指导教师:许清

装订时:此页为任务书

目录 1 概要设计 (1) 1.1题目介绍和功能要求 (1) 2 系统设计 (2) 2.1总体结构 (2) 2.2数据结构设计及用法说明 (3) 2.3函数设计 (3) 2.4关键流程 (5) 3调试分析 (11) 4测试及运行结果 (12) 参考文献 (15) 附录(程序清单) (16)

自考02142《数据结构导论》串讲笔记

第一张概论 1.1 引言 两项基本任务:数据表示,数据处理 软件系统生存期:软件计划,需求分析,软件设计,软件编码,软件测试,软件维护 由一种逻辑结构和一组基本运算构成的整体是实际问题的一种数学模型,这种数学模型的建立,选择和实现是数据结构的核心问题。 机外表示------逻辑结构------存储结构 处理要求-----基本运算和运算-------算法 1.2 数据,逻辑结构和运算 数据:凡是能够被计算机存储,加工的对象通称为数据 数据元素:是数据的基本单位,在程序中作为一个整体加以考虑和处理。又称元素,顶点,结点,记录。 数据项:数据项组成数据元素,但通常不具有完整确定的实际意义,或不被当做一个整体对待。又称字段或域,是数据不可分割的最小标示单位。 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)称为一个数据结构。数据结构包括逻辑结构和处理方式。

相关主题
文本预览
相关文档 最新文档