太原理工大学数据结构B,C语言版的课件
- 格式:ppt
- 大小:464.50 KB
- 文档页数:40
数据结构C语言版讲义数据结构是计算机科学的一门基础课程,主要讲述了如何组织和存储数据的方法和技术。
它不仅仅是一门理论学科,还涉及到具体的算法和实现技巧。
C语言作为一种高效、可移植的编程语言,被广泛用于数据结构的实现和应用。
本篇讲义将介绍数据结构的基本概念和常见的几种数据结构的C语言实现。
数据结构的基本概念包括数据元素、数据项、数据对象和数据结构等。
其中,数据元素是数据的基本单位,可以是一个数字、一个字母或一个记录。
数据项是数据元素的组成部分,可以是一个字符、一个字符串或一个整数。
数据对象是指具有一定意义的数据元素的集合,例如学生、学生信息等。
数据结构是指数据元素之间的关系。
常见的数据结构包括数组、链表、栈、队列和树等。
数组是一种线性的数据结构,它由相同类型的元素组成,这些元素在内存中连续存放。
C语言中的数组使用一维或多维数组来表示。
数组的访问使用下标进行,下标从0开始。
例如,定义一个整型数组arr,可以通过arr[0]、arr[1]等来访问数组中的元素。
链表是一种非线性的数据结构,它由一个个节点组成,每个节点存储数据元素和指向下一个节点的指针。
链表可以分为单向链表和双向链表。
C语言中可以通过结构体和指针来实现链表。
例如,定义一个单向链表节点的结构体,包含数据元素和指向下一个节点的指针,再定义一个指向链表头节点的指针,通过指针可以实现链表的遍历和操作。
栈是一种先进后出(LIFO)的数据结构,它可以用数组或链表来实现。
栈的主要操作包括入栈(push)和出栈(pop)。
入栈是将元素压入栈顶,出栈是将栈顶的元素弹出。
C语言中可以用数组和一个指向栈顶的指针来实现栈。
队列是一种先进先出(FIFO)的数据结构,它也可以用数组或链表来实现。
队列的主要操作包括入队(enqueue)和出队(dequeue)。
入队是将元素放入队尾,出队是将队首元素移除。
C语言中可以用数组和两个指针来实现队列。
树是一种非线性的数据结构,它由节点和边组成。
《数据结构B》实验指导书计算机科学与技术学院计算机科学与技术系2011年09月目录实验一线性表 (1)实验二树 (5)实验三图 (7)实验四查找 (11)实验五内排序 (13)实验一线性表【目的与要求】本次实习的主要目的是为了使学生熟练掌握线性表的基本操作在顺序存储结构和链式存储结构上的实现,提高分析和解决问题的能力。
要求仔细阅读并理解下列例题,上机调试并编译执行通过,并观察其结果,然后独立完成后面的实验内容,写出完整的实验报告。
编写程序过程中注意养成良好的编程风格与习惯,要求程序结构清晰,程序缩进,适当注释。
【参考例题】[问题描述]用链表形式存储一个字符串,插入、删除某个字符,最后按正序、逆序两种方式输出字符串。
[输入]初始字符串,插入位置,插入字符,删除字符。
[输出]已建立链表(字符串),插入字符后链表,删除字符后链表,逆转后链表。
[存储结构]采用链式存储结构[算法的基本思想]建立链表:当读入字符不是结束符时,给结点分配存储空间,写数据域,将新结点插到表尾;插入字符:根据读入的字符在链表中找插入位置,将新结点插入到该位置之前;删除字符:根据读入的删除字符在链表中找到被删结点后,将其从链表中删除;链表逆转:从链表的第一个结点开始对所有结点处理,将每个结点的前驱变为它的后继;打印链表:从链表的第一个结点开始,依次打印各个结点的数据域。
[参考源程序]#define NULL 0typedef struct node{char a;struct node *link;}node,*nodelink;void readlink(nodelink head){nodelink p,q;char c;p=head;printf("Input a linktable(a string):");scanf("%c",&c);if (c=='\n') printf("This string is empty。
软件学院2012年9月
1. 掌握数据结构的基本概念、基本原理和基本方法。
2. 掌握数据的逻辑结构、存储结构及其基本操作的实现,能够对算法进行基本的时间复杂度与空间复杂度的分析。
3. 能够运用数据结构的基本原理和方法进行问题的分析和求解;具备采用c或c++或JAVA语言设计与实现算法的能力。
课堂讲授48学时
包括抽象、实现和评价三个层次,讲授四种基本的逻辑结构的特点、实现。
实验8学时
熟悉四种基本结构的实现及其应用。
第一章绪论2学时
第二章线性表5学时
第三章栈和队列4学时
第五章数组3学时
第六章树和二叉树8学时 第七章图9学时
第九章查找6学时
第十章内部排序9学时
复习2学时
教材:
数据结构(C语言版)严蔚敏吴伟民编著
参考书:
1.数据结构黄国瑜叶乃菁编著清华大学出版社
2.数据结构算法设计指导胡学刚编著清华大学出版社
光盘:
数据结构(C语言版)严蔚敏吴伟民编著
精品课程网站:
/kecheng1site01/。