数据结构(c语言)
文章平均质量分 67
小z0123
这个作者很懒,什么都没留下…
展开
-
实验四 快速排序法
一、目的和要求(需求分析):1、 掌握快速排序的实现方法2、 掌握快速排序的基本思想3、 掌握快速排序的时间性能4、 要求:用快速排序法实现对无序序列的排序二、程序设计的基本思想,原理和算法描述:首先从数列中取出一个数作为基准数。分区过程,将比这个数小的数全放到它的左边,大于或等于它的数全放到它的右边。再分别对左右区间重复第一步、第二步,直到各区间只有一个数。(递归)输出和输入设计都借助for循环和数组完成。三、调试和运行程序过程中产生的问题及采取的措施:本次实验比较简单,没有出现什么问题原创 2021-01-04 00:25:47 · 742 阅读 · 0 评论 -
(二叉树提高题)还原二叉树
给定一棵二叉树的先序遍历序列和中序遍历序列,要求计算该二叉树的高度。输入格式:输入首先给出正整数N(≤50),为树中结点总数。下面两行先后给出先序和中序遍历序列,均是长度为N的不包含重复英文字母(区别大小写)的字符串。输出格式:输出为一个整数,即该二叉树的高度。输入样例:9ABDFGHIECFDHGIBEAC输出样例:5代码如下:#include <iostream>using namespace std;#define MAXSIZE 110//a是先序遍历原创 2020-12-02 17:59:33 · 810 阅读 · 0 评论 -
(二叉树基础题)先序输出叶结点
本题要求按照先序遍历的顺序输出给定二叉树的叶结点。函数接口定义:void PreorderPrintLeaves( BinTree BT );其中BinTree结构定义如下:typedef struct TNode *Position;typedef Position BinTree;struct TNode{ ElementType Data; BinTree Left; BinTree Right;};函数PreorderPrintLeaves应按照先序遍历的原创 2020-12-02 17:45:29 · 895 阅读 · 0 评论 -
(二叉树基础题)求二叉树高度
本题要求给定二叉树的高度。函数接口定义:int GetHeight( BinTree BT );其中BinTree结构定义如下:typedef struct TNode *Position;typedef Position BinTree;struct TNode{ ElementType Data; BinTree Left; BinTree Right;};要求函数返回给定二叉树BT的高度值。裁判测试程序样例:#include <stdio.h>原创 2020-12-02 17:40:55 · 300 阅读 · 0 评论 -
《数据结构》实验二——二叉树的遍历
《数据结构》实验二报告日期: 2020-11-23 程序名: shiyan2.c实验内容: 二叉树的遍历一、目的和要求(需求分析):1、掌握二叉树的存储结构以及二叉树的建立和操作。2、输入一串表达式后,建立二叉树,并对其进行先序、中序和后序的遍历。(输入表达式如此形式:a+b*c-d-e/f….;以#号结束。)3、递归实现表达式运算。二、程序设计的基本思想,原理和算法描述:程序的结构:首先定义二叉树,随后创建二叉树,此时利用flag判断记录表原创 2020-11-25 00:23:36 · 2891 阅读 · 0 评论 -
《数据结构》实验一——单链表的就地反转
《数据结构与算法》实验报告一、目的和要求(需求分析):1、掌握数据的链式存储结构以及链表的建立和操作。2、利用链表的原空间进行链表的反转;(设计一个将输入数据建立成链表、并依次输出链表数据、利用原空间把链表反转的程序。)二、程序设计的基本思想,原理和算法描述:(包括程序的结构,数据结构,输入/输出设计,符号名说明等)首先进行链表节点的定义,然后利用头插法创建链表,在输入数值的时候,每两个数值之间生成节点,然后依次输出原始节点。利用尾插法对链表进行就地反转,将第二个节点的next域指向第一个节点原创 2020-10-31 18:33:10 · 1177 阅读 · 1 评论