数据结构
路漫漫小菜狗
这个作者很懒,什么都没留下…
展开
-
第7章课后习题算法设计题(严蔚敏数据结构c语言版第2版)
7-1 试写出折半查找的递归算法#include <iostream>using namespace std;int Search_Bin(int key[],int low, int high,int k);int main(){ int length,address; cout<<"请输入关键字数组的长度:"; cin>>length; int key[length]; cout<<"请输入"<<原创 2020-12-05 07:38:52 · 740 阅读 · 0 评论 -
第6章课后习题算法设计题(严蔚敏数据结构c语言版第2版)
6-1 分别以邻接矩阵和邻接表作为存储结构,实现以下图的基本操作:①增加一个新顶点v,InsertVex(G,v)②删除顶点v及其相关的边,DeleteVex(G,v)③增加一条边<v,w>,InsertArc(G,v,w)④删除一条边<v,w>,DeleteArc(G,v,w)(1)增加一个新顶点v,InsertVex(G,v)#include <iostream>using namespace std;#define MaxInt 32767#def原创 2020-12-05 07:38:27 · 4088 阅读 · 0 评论 -
第5章课后习题算法设计题(严蔚敏数据结构c语言版第2版)
以二叉链表作为二叉树的存储结构,编写以下算法:(1)统计二叉树的叶节点个数。(2)判别两棵树是否相等。(3)交换二叉树每个结点的左孩子和右孩子。(6)用按层次顺序遍历二叉树的方法,统计树中度为1的结点数目。5-1 统计二叉树的叶节点个数#include <iostream>typedef struct BiTNode{ char data; struct BiTNode *lchild,*rchild;}BiTNode,*BiTree;void CreatBiT原创 2020-12-05 07:39:08 · 5354 阅读 · 0 评论 -
查找和排序的实现(c++实现)
(1)编程实现两种查找方法:折半查找和二叉排序树。若查找成功,返回元素在有序数组中的位置和查找次数;若查找失败,返回出错标志和查找次数。(2)在9种排序算法(直接插入排序、折半插入排序、希尔排序、冒泡排序、快速排序、简单选择排序、堆排序、归并排序和基数排序)中选择5种排序算法进行编程实现。1.折半查找#include <iostream>using namespace std;int count;//记录查找次数int Search_Bin(int key[],int low, in原创 2020-12-05 07:39:25 · 2455 阅读 · 0 评论 -
图的操作(c++实现)
(1)采用邻接矩阵/邻接表建立图;(2)采用深度优先/广度优先搜索方式遍历图;(3)编程实现Dijkstra最短路径算法。#include <iostream>using namespace std;#define MaxInt 32767#define MVNum 100typedef struct{ char vexs[MVNum]; int arcs[MVNum][MVNum]; int vexnum,arcnum;}AMGraph;typedef原创 2020-12-05 07:39:37 · 1879 阅读 · 0 评论 -
二叉树的操作(c++实现)
(1)采用二叉链表结构建立二叉树;(2)编程实现二叉树的先序、中序、后序和层序遍历;(3)编程实现:求二叉树的高度和叶的结点个数;(4)应用实现:哈夫曼编码。1.建立二叉树和遍历二叉树#include <iostream>#define m 100typedef struct BiTNode{ char data; struct BiTNode *lchild,*rchild;}BiTNode,*BiTree;typedef struct{ BiTree原创 2020-12-04 22:33:03 · 491 阅读 · 0 评论 -
严蔚敏数据结构c语言版第二版思维导图
数据结构思维导图参考严蔚敏数据结构c语言版第二版,自己总结的,仅供参考第一章 绪论第二章 线性表第三章 栈和队列第四章 串、数组和广义表第五章 树和二叉树第六章 图第七章 查找第八章 排序...原创 2020-12-04 10:18:01 · 5500 阅读 · 4 评论 -
栈和队列的基本操作(c++实现)
(1)编程实现顺序栈和链栈的基本操作:建栈,取栈顶元素,入栈,出栈;(2)编程实现循环队列和链队列的基本操作:建队列,取队头元素,入队,出队。1.顺序栈#include<iostream>using namespace std;#define MAXSIZE 5typedef struct{ int *base; int *top; int stac...原创 2020-04-15 22:23:34 · 2312 阅读 · 2 评论 -
单链表的基本操作(c++实现)
(1)编程实现单链表的基本操作:建立单链表,查找单链表,插入单链表,删除单链表;(2)采用单链表结构编程实现:两个有序单链表的归并运算。/*(1)*/#include <iostream>typedef struct LNode{ int data; struct LNode *next;}LNode,*LinkList;bool InitList(...原创 2020-04-15 22:15:43 · 4530 阅读 · 0 评论 -
顺序表的基本操作(c++实现)
(1)编程实现顺序表的基本操作:建立顺序表,修改顺序表,插入顺序表,删除顺序表;(2)采用顺序表结构编程实现:两个集合的运算:交集/并集/差集。/*(1)*/#include <iostream>#define MAXSIZE 100typedef struct{ int *elem; int length;}Sqlist;void InitList(...原创 2020-04-15 22:13:14 · 2117 阅读 · 0 评论 -
第3章课后习题算法设计题(严蔚敏数据结构c语言版第2版)
3-1 将编号0和1的两个栈存放于一个数组空间V[m]中,栈顶分别处于数组两端。两栈均从两端向中间增长,试编写双栈初始化,判断栈空、栈满、进栈和出栈等算法的函数。双栈数据结构的定义如下:typedef struct{int top[2],bot[2];//栈顶和栈底指针SElemType *V;//栈数组int m; //栈最大可容纳元素个数}DblStack;#include<...原创 2020-04-15 22:02:14 · 1649 阅读 · 0 评论 -
第2章课后习题算法设计题(严蔚敏数据结构c语言版第2版)
2-6 设计一个算法,通过一趟遍历确定长度为n的单链表中值最大的结点#include<iostream>typedef struct LNode{ int data; struct LNode *next;}LNode,*LinkList;int MAXList(LinkList L);bool InitList(LinkList &L);void...原创 2020-04-15 21:42:04 · 1425 阅读 · 0 评论