C++
RouTineD
这个作者很懒,什么都没留下…
展开
-
【C++】人工智能实验二 八数码问题(DFS/BFS/A*Search)(附完整代码与状态迁移图)
文章目录一、问题描述二、DFS1、状态表示的数据结构2、状态扩展规则的表示3、搜索产生的状态空间图4、实验结果5、实验代码三、BFS1、状态表示的数据结构2、状态扩展规则的表示3、搜索产生的状态空间图4、实验结果5、实验代码四、A*搜索算法1、状态表示的数据结构2、状态扩展规则的表示3、搜索产生的状态空间图4、实验结果5、实验代码五、总结一、问题描述1.在图1,3*3的方格棋盘上,摆放着1到8这八个数码,有1个方格是空。2.如图1所示,要求对空格执行空格左移、空格右移、空格上移和空格下移这四个操作使原创 2020-12-29 10:41:20 · 6735 阅读 · 3 评论 -
【C++】人工智能实验一 猴子摘香蕉/传教士与野人(含完整代码与状态迁移图)
房内有一个猴子,一个箱子,天花板上挂了一串香蕉,其位置如图1所示,猴子为了拿到香蕉,它必须把箱子搬到香蕉下面,然后再爬到箱子上。原创 2020-12-29 08:54:02 · 10778 阅读 · 2 评论 -
【C++】LeetCode-416. 分割等和子集
文章目录1.问题描述2.示例3.分析4.题解5.时间空间复杂度1.问题描述给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。注意:每个数组中的元素不会超过 100数组的大小不会超过 2002.示例示例 1:输入: [1, 5, 11, 5]输出: true解释: 数组可以分割成 [1, 5, 5] 和 [11].示例 2:输入: [1, 2, 3, 5]输出: false解释: 数组不能分割成两个元素和相等的子集.3.分析这道原创 2020-10-11 16:23:49 · 623 阅读 · 0 评论 -
【C++】LeetCode-235. 二叉搜索树的最近公共祖先(详细分析)
文章目录1.问题描述2.示例3.分析4.题解5.时间空间复杂度1.问题描述给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,9,null,null,3,5]2.示例输入: root = [6,2,8,0,4,7,9,null,n原创 2020-09-27 11:39:12 · 328 阅读 · 0 评论 -
【C++】 LeetCode-102. 二叉树的层序遍历(详细分析)
文章目录1.问题描述2.示例3.分析4.题解5.时间空间复杂度1.问题描述给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。2.示例二叉树:[3,9,20,null,null,15,7],返回其层次遍历结果:3.分析1、层次遍历——使用先序遍历法,中-左-右2、要求每一层的节点值分括号呈现,使用 vector<vector<int>>二维嵌套表格。4.题解/** * Definition for a binary t原创 2020-09-24 09:38:48 · 308 阅读 · 1 评论 -
【C++】 LeetCode-21.合并两个有序链表
文章目录1.问题描述2.示例3.题解4.时间空间复杂度1.问题描述将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。2.示例输入:1->2->4, 1->3->4输出:1->1->2->3->4->43.题解/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode原创 2020-09-22 11:13:39 · 1785 阅读 · 0 评论 -
【MFC】学生数据管理-广州大学程序设计课程设计报告
目录一、课程设计题目及内容二、程序中使用的数据及主要符号说明三、带有详细注释的自己编写的源程序四、程序运行时的效果图五、实验结果分析,实验收获和体会。1、实验结果分析:2、实验收获和体会:一、课程设计题目及内容(1)设计一个学生类Student,包括数据成员:姓名、学号、二门课程(面向对象程序设计、高等数学)的成绩。(2)创建一个管理学生的类Management,包括实现学生的数据的增加、...原创 2020-02-24 20:27:01 · 2669 阅读 · 5 评论 -
【C++】操作系统之实验二 银行家算法
文章目录一、实验内容二、实验原理1、什么是系统的安全状态和不安全状态?2、银行家算法3、操作系统按照银行家制定的规则设计的银行家算法为:三、实验要求1、画出银行家算法流程图;2、对算法所用的数据结构进行说明;3、测试数据随机产生。不可手工输入;4、 编写程序并调试;5、 多次测试程序,截屏输出实验结果;四、思考题1、如何设计程序的输入模块才能满足实验要求,请举例说明;2、银行家算法在实现过程中必须注意哪些资源分配细节才能避免死锁?一、实验内容根据银行家算法的基本思想,编写和调试一个实现动态资源分配的模拟原创 2020-07-19 10:17:01 · 2612 阅读 · 0 评论 -
【C++】数据结构之排序二叉树
要求:构造一棵排序二叉树先中后序遍历// 二叉排序树.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include<iostream>#include<time.h>using namespace std;//树节点typedef struct TNode{ int data; struct TNode...原创 2019-12-29 16:33:54 · 301 阅读 · 0 评论 -
【C++】数据结构之链队列(入队、出队、查找、翻转)
要求:写一个带有头结点的链队列实现入队、出队、查找、翻转功能思路初始化队列,使front指针和rear指针同时指向一个空间入队:新建一个链节空间,把数据放入其中,rear指针指向的下一个链节为该空间。出队:删去头指针指向的链节,返回元素数据。查找:逐个比较链节内容,若存储的数据和查找元素相同,则为查找成功,返回1,反之返回0;翻转队列:用三个指针pre、pcur、pnext分...原创 2019-12-28 16:58:27 · 3852 阅读 · 1 评论 -
【C++】C++输出特殊符号
在写课程设计时遇到了想要输出特殊符号,控制台上输出了“?”的情况,研究了一个多小时之后提出了解决方案。1️⃣有些特殊字符实在打不出来,选择用别的符号替代。如❤这个符号在VS中无论如何都无法被打出。2️⃣找到项目“属性”,把字符集设置成“Unicode”字符集3️⃣这个链接能解决部分宽字符输出的问题,但是缺点在于原本输出正常的中文会变成乱码。4️⃣使用printf(“”)进行输出,如prin...原创 2019-12-26 16:26:43 · 11445 阅读 · 0 评论 -
【C++】数据结构之快速排序算法
要求:把十六个随机数字按照升序排序使用快速排序的方法// 快速排序.cpp : 定义控制台应用程序的入口点。//#include"stdafx.h"#include<iostream>#include<time.h>using namespace std;const int SIZE = 16;//初始化数组void Init(int *ar...原创 2019-12-29 17:47:50 · 206 阅读 · 0 评论 -
【C++】数据结构之统计单链表中结点的值等于给定值X的结点数目
// 单链表统计数相同结点数目.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <vector>#include <cstring>#include <ctime>#include <iostream>#include <iomanip>#include <cma...原创 2019-12-31 09:29:42 · 7902 阅读 · 1 评论 -
【C++】数据结构之共享栈的编写代码教程
问题:将编号为0和1的两个栈存放于一个数组空间V[m]中,栈底分别处于数组的两端。当第0号栈的栈顶指针top[0]等于-1时该栈为空,当第1号栈的栈顶指针top[1]等于m时该栈为空。两个栈均从两端向中间增长。试编写双栈初始化,判断栈空、栈满、进栈和出栈等算法的函数。双栈数据结构的定义如下:Typedef struct{int top[2],bot[2]; //栈顶和栈底指针 SE...原创 2019-12-31 13:47:37 · 450 阅读 · 0 评论