历时2个多月,把21版王道数据结构的课后代码题全部实现了一遍,一共96道题

文件目录结构:

  • 编程环境:Visual Studio 2019
  • 编程语言:C/C++

其中,每道题都是一个独立的cpp文件,可以独立运行。在树和图的章节,会有输入样例和对应的示例图。

cpp文件结构

  1. 建立要求的数据结构
  2. 题目说明
  3. 题目要求的代码
  4. 运行示例

以树章节的题目示例:

#include <iostream>
#include <stack>
#include <queue>
using namespace std;#pragma region 构造链式存储的表达式二叉树#define MaxSize 100
#define ElemType char
#define _for(i,a,b) for(int i=(a);i<(b);i++)typedef struct node { //树的结点ElemType  data[10];node* left;node* right;
}Node, * BiTree;void CreateBiTree(BiTree& T)//要改变指针,C++可以把指针的引用传进来
{ElemType ch;cin >> ch;if (ch == '#')T = NULL;else{T = new Node;T->data[0] = ch;CreateBiTree(T->left);CreateBiTree(T->right);}
}void visit(Node* BiNode) {cout << BiNode->data[0] << " ";
}void InOrder(BiTree T) {if (T) {InOrder(T->left);visit(T);InOrder(T->right);}
}#pragma endregion//P151.20
//【2017统考真题】请设计一个算法, 将给定的表达式树(二叉树)转换为等价的中缀表
//达式(通过括号反映操作符的计算次序)并输出。例如, 当下列两棵表达式树作为算法
//的输入时输出的等价中缀表达式分别为(a+b)*(c*(-d))和(a*b)+(-(c-α))
//二叉树结点定义如下:
//typedef struct node {//      char data[10];   //存储操作数或操作符
//      struct node* left,*right;
//}BTree
//要求
//1)给出算法的基本设计思想
//2)根据设计思想, 采用C或C++语言描述算法, 关键之处给出注释。queue<Node*> q;
stack<Node*> s;void MedEx(BiTree T,int deep) {if (!T)return;else if (!T->left && !T->right)cout << T->data[0];else {if (deep > 1)cout << "(";MedEx(T->left, deep + 1);cout << T->data[0];MedEx(T->right, deep + 1);if (deep > 1)cout << ")";}
}void ToMedEx(BiTree T) {MedEx(T, 1);
}int main()
{BiTree T;cout << "请输入先序遍历顺序下各个结点的值,'#'表示没有结点:" << endl;
//  input(1): * + a # # b # # * c # # - # d # #
//  input(2): + * a # # b # # - # - c # # d # #CreateBiTree(T);cout << "中序遍历:" << endl;InOrder(T);cout << endl;ToMedEx(T);return 0;
}/*
(1)*+     *a b   c -d
(2)+*       _a   b        -c   d*/

emm也是记录一下考研期间重新学习数据结构的过程,留个回忆~
一定要一战成硕啊!

代码仅供个人研究,及交流学习使用,版权归原作者所有,如果有侵犯到您的权利,请及时联系删除。

最后附上代码地址,顺便点个star呗~
Wangdao-Data-Structures

2021版王道数据结构课后代码题全部实现相关推荐

  1. 手把手教你考研《数据结构》代码题

    手把手教你写考研数据结构代码题 计算机考研,一旦达到了后半程,那么数据结构的代码题,就会成为很多学生的拦路虎,让很多学生都痛苦不堪,为了帮助大家更好的学习代码题,所以整理了考研数据结构一些必考的代码题 ...

  2. 04737 c++ 自学考试2019版 第二章课后程序设计题 3

    /* * 04737 c++ 自学考试2019版 第二章课后练习 * 程序设计题 3 * 需求:设计并实现一个类MyLine */ //标准流 #include<iostream> //科 ...

  3. 04737 c++ 自学考试2019版 第二章课后程序设计题 2

    /* * 04737 c++ 自学考试2019版 第二章课后练习 * 程序设计题 2 * 需求:设计并实现二维坐标系下点的类Point.... */ //标准流 #include<iostrea ...

  4. 考研之数据结构常见代码题01

    一.线性表 1.在一个递增有序的顺序表中插入元素Y,得到的顺序表仍然有序. 该算法的思想主要分有三步:找到插入位置.插入.整个顺序表的长度加一. //find方法是用来寻找所插入元素的合适位置int ...

  5. python程序设计与基础教程第六章上机实验_《Python程序设计与算法基础教程(第二版)》江红 余青松 课后代码题详解...

    (还在更新中-) 这本书对Python的知识点的描述很详细,而且排版看的很舒服 几个例题: 假装自己从零开始学,将一些有代表性.有意思的例题抽取出来 部分复习题: 遇到有意思的复习题,我会拿出来,并且 ...

  6. 2021版《数据结构》课程学习指南

    20210308更新 增加好文共赏小节,主要用来存放数据结构优秀的博文链接. 目录 学习准备 学习平台 数据结构课程学习说明 成绩组成 学习目标 几大主要的学习活动 学习方法 资源 好文共赏 学习准备 ...

  7. 王道数据结构P40第一题,为什么直接去掉结点不会造成断链?

    void Del_X(LinkList &L,int x){LNode* p=NULL;if(L==NULL) return;if(L->data==x){p=L;L=L->nex ...

  8. 王道数据结构习题代码3.3.7(栈和队列的应用)

    第一题(括号匹配) #include <stdio.h> #include <stdlib.h> #include<stdbool.h> #define MaxSi ...

  9. 数据结构经典代码题(从小白开始)

    1.设计一个高效算法,将顺序表L的所有元素逆置,要求算法空间复杂度为常数级 算法思想:依次将顺序表L前半部分的元素与顺序表后半部分的元素进行交换. void swap(Sqlist &L){ ...

最新文章

  1. OpenCV在Python上的调用( import cv2的解决办法)
  2. ios上架图片在线制作_不同风格gif在线制作,公众号动态图片制作方法
  3. kafka server常用核心配置
  4. java-Comparable和Comparator的用法
  5. jQuery WeUI 组件下拉刷新和滚动加载的实现(复制就可以使用)
  6. 直播电商系统源码 直播系统源码
  7. 如何用计算机做文档,在wps上怎么做文档_在wpsoffice上怎么做文档的图文步骤
  8. 初探802.11协议(0)——开篇(IEEE802.11历史与Wi-Fi速率计算)
  9. itest软件测试工具,Monkey测试工具 - iTest99的个人空间 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...
  10. 如何提高软件测试能力的19条建议,希望对你有用
  11. python怎么去掉换行符_python去除空格和换行符的实现方法(推荐)
  12. sql语句中count(*),count(1),count(id)区别详解
  13. uni-app H5实现扫码登录功能
  14. 《满江红》非岳飞所作?
  15. 【板栗糖GIS】怎么将网络上只能在线预览文档另存为pdf(插件篇)
  16. 27岁程序员转职赏金猎人:一个漏洞10万美元,比工资香多了
  17. java可用作分隔符的特殊符号
  18. 用python来做一个五子棋游戏,源码分享~
  19. 编程小伙不想做核酸,竟伪造绿码,警察蜀黍送上 5 日行拘套餐!
  20. guice框架的入门使用

热门文章

  1. 计算机网络:从物理层到应用层的五层模型
  2. P3426 [POI2005]SZA-Template(kmp、dp)
  3. Twinmotion 2020 视频教程-学习笔记
  4. 整理一份API接口,包括音乐API,图片API,聚合API等等
  5. Newton-Raphson切线法解高次方程近似根
  6. 奇迹s12源码_奇迹S12-2更新内容
  7. 5G NR协议栈SDAP、PDCP
  8. 谷歌浏览器无法下载文件
  9. java dispatcher详解_Java Web开发详解:RequestDispatcher接口
  10. 在IDEA开发一个自动输入法切换插件