实验一顺序表的操作及其应用。
实验目的。1)掌握线性表的顺序存储结构;
2)熟练掌握顺序表基本算法的实现;
3)掌握利用线性表数据结构解决实际问题的方法和基本技巧;
4)按照实验题目要求独立正确地完成实验内容。
实验环境。1) 硬件:每个学生需配备计算机一台,操作系统:windows2000/xp;
2) 软件:visual c++6.0;
实验学时。3学时。
实验内容。要求:数据元素类型elemtype 取整型int 或者char。顺序存储实现如下算法:
1)创建一顺序表;
2)输出该顺序表;
3)在顺序表中查找第i 个元素,并返回其值;
4)在顺序表中第i 个元素之前插入一已知元素;
5)在顺序表中删除第i 个元素;
实验二队列的操作及其应用。
实验目的。1) 掌握队列的基本定义;
2)掌握循环队列基本操作的实现;
3)掌握利用栈和循环队列进行回文字符串的判定。
实验环境。1) 硬件:每个学生需配备计算机一台,操作系统:windows2000/xp;
2) 软件:visual c++6.0;
实验学时。2学时。
实验内容。1、回文字符串的判定
要求:数据元素类型 elemtype 取字符型 char。实现如下算法:
1)创建一循环队列;
2)创建一个顺序栈;
3)利用栈和队列实现回文字符串的判定。
实验提示。1)在实验3的基础上(利用已完成的栈的类型定义和基本操作的实现)完成循环队列的存储结构定义(取名为sqqueue)。
2)完成循环队列的基本操作(参数可根据实际需要来确定)
初始化队列initqueue
销毁队列clearqueue
入队列enqueue
出队列dequeue
3) 利用栈和队列的特性,将输入的字符串分别进栈和队列,完毕后再依次出栈。
和出队,比较输出内容是否相等,若不相等则判别为非回文字符串,若栈空且队。
列空则是回文字符串。
4)如何实现接受用户从键盘输入的字符串?
cout<<"请输入一个字符序列,回车换行结束!"<
int h=strlen(str);
实验三查找算法。
一、实验目的
1) 掌握有序表、无序表查找的基本思想及存储、运算的实现。
2) 深刻理解各种算法的特点,并加以灵活应用。
3)加深对查找的理解,逐步培养解决实际问题的编程能力。
二、实验内容。
1)建立一个无序表并实现其上的顺序查找;
2)建立一个有序表并实现其上的折半查找(用递归和非递归两种算法实现);
三、实验结果。
数据结构与算法
本章知识要点 算法的基本概念 数据结构的定义 线性表的定义和存储 树 二叉树的定义和存储 查找与排序算法。算法 algorithm 是一组有穷的规则,规定了解决某一特定类型问题的一系列运算,是对解题方 与完整的描述。算法是解题的步骤,可以把算法定义成解一确定类问题的任意一种特殊的方法。在计算机科学中...
算法与数据结构
学院专业姓名学号。实验1 线性表的操作 12学时 问题描述 假设一个班级内有n个学生,定义一个学生类和一个班级类。学生类中包括学号 姓名 性别 年龄 专业等属性 班级类包括一个学生对象链表。定义如下 class student class myclass student stu head 链表表头指...
算法与数据结构
1 简述算法的概念及其五个重要特性。2 下图是用邻接表存储的图,请画出此图,写出其邻接矩阵以及从c点开始分别按广度优先搜索和深度优先搜索遍历该图的结果。给定一棵用二叉链表表示的二叉树,其根指针为root,编写求此二叉树叶结点个数的算法,要求先写出二叉链表的类型定义。2.编写简单选择排序的算法。1 用...