自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (3)
  • 收藏
  • 关注

原创 深度搜索算法查找最短路径

如图,百度地图上有5个地点,各个地点间是单向的路径,试求出从1到5的最短路径。从图中可以得到一个5*5的二维矩阵,利用深度搜索算法,求出最短路径。从最后的运行结果,可以直观的看出搜索的过程代码实现如下:#include "pch.h"#include <stdio.h>#include <stdlib.h>#include <vector&g...

2019-02-27 11:05:04 4542

原创 图的遍历——广度优先搜索

按照图的广度优先搜索算法,那么可以很直观的看出上一篇文章中图的遍历顺序如下程序实现如下:#include "pch.h"#include<stdio.h>#include<stdlib.h>using namespace std;const int P_Num = 5;#define N 10000const int iTreeMap[P_Num...

2019-02-21 15:47:29 263

原创 图的遍历——深度优先搜索

如图,怎么用数据结构来表示这个图呢?最常用是用一个二维矩阵来存储。如下图所示,0表示自己到自己,1表示两点直接有连线,∞表示没有连接。这种表示法称为图的邻接矩阵表示法可以看到得到的二维矩阵是对称的,这是因为图是没有方向的。下面程序实现深度优先搜索算法遍历图#include "pch.h"#include<stdio.h>#include<stdlib.h...

2019-02-21 15:12:03 569

原创 广度优先搜索算法解迷宫问题

前面有使用深度优先算法来解迷宫问题,思路是使用递归的方法,先进行深度的尝试,找到或者无法抵达时返回上一级函数继续执行。本文使用广度优先算法,思路如下:如图在(1,1)的位置开始,广度优先算法的步骤是搜索一步能够抵达的所有位置作为第一层,然后在上一层的基础上再走一步,并且不走重复的格子,作为下一层,这样一层一层的搜索,达到终点再停止。下面程序用广度搜索算法解决迷宫的问题,数据结构十分巧妙...

2019-02-19 21:14:36 1387

原创 Linux下的压缩和解压缩命令

compress/uncompress 后缀为.z gzip/gunzip 后缀为.gz zip/unzip 是windows下最常见的压缩文件,后缀.zip,保留原文件  备份及还原命令tartar -cvzf hello.tar.gz ./user/mike/hello上面命令将./user/mike/hello文件夹生成1个hello.tar在当前目录...

2019-02-17 15:10:05 199

原创 linux进程管理

进程的启动分为手工启动和调度启动手工启动又分为前台启动和后台启动前台启动:在shell中输入命令执行后台命令:前台启动的命令后增加&调动启动:指在制定时间启动进程 查看进程ps命令常用参数含义:a:显示当前控制终端的进程u:显示用户名和启动时间等信息-e:显示所有进程ps命令常和重定向、管道等命令一起使用如:ps au -e | ...

2019-02-17 14:42:23 168

原创 深度优先搜索算法解迷宫问题

 如图是一个矩形迷宫,需要从起点(1,1)走到终点(4,3),那么需要7步。下面程序完成从起点(0,1)到终点(0,3)的最短距离,结果为12.#include <stdio.h>using namespace std;struct Position{ Position(int row, int col) { x = row; y = col; ...

2019-02-15 18:07:37 2193 1

原创 深度优先搜索算法解ABC + DEF = GHI问题

用深度优先搜索算法解排队问题的时候,你一定发现这跟前面枚举的题目很像,只是打印的条件不一样而已。稍微改改即可完成求解。#include <stdio.h>const int CNT = 9;//9个数的排列//存放数值int a[CNT] = { 0 };//标记CNT个数是否已经放置bool book[CNT] = { false };int iSum = 0;...

2019-02-15 13:12:34 1557

原创 深度优先搜索算法求解排队问题

排队问题是一个非常常见的问题,可以简化为N个不同的数放在不同的位置,每个数在每个位置上只出现一次。深度优先搜索算法关键在于解决“当下应该怎么做”,至于“下一步应该怎么做”是与“当下应该怎么做”是一样的。#include <stdio.h>const int CNT = 4;//4个数的排列//存放数值int a[CNT] = { 0 };//标记CNT个数是否已经放置...

2019-02-15 12:31:57 616 1

原创 炸弹人

对于80后来说,小霸王是抹不去的记忆,还记得当年有一个炸弹人游戏吗?看看下面这一关应该放置在什么地方才能炸到最多的敌人,炸弹能炸到最远距离,碰到墙就停止。以下程序就是求解上面问题的:#include "stdio.h"#include <windows.h>using namespace std;char iGameMap[13][13] = { '#'...

2019-02-15 01:12:37 704

原创 枚举法——很黄很暴力

 下面是一条小学奥数题,用枚举法求解,真的很黄很暴力。这么个控制台程序在我自己的电脑上运行了10+秒。#include "stdio.h"using namespace std;/*题目:ABC + DEF = GHI,其中式子中的字母代表了数字1~9,请打印出所有可能的式子并计算出可能的式子的数量*/int main(){ int a[9] = { 0 };//代表每个...

2019-02-14 20:45:38 1242

原创

前面学习了队列,队列是“先进先出”的数据结构。现在我们学习“后进先出”的数据结构,也就是栈。利用栈的特性,可以很方便的判断一串字符串是不是回文字符串。#include <stdio.h>using namespace std;int main(){ /* 题目:利用栈判断输入的字符串是不是回文 */ char str[128] = "12345654321...

2019-02-13 12:12:00 98

原创 队列

队列是一种特殊的线性结构。它只允许在队列的首部(head)进行删除操作,称为“出队”,而在队列的尾部(tail)进行插入操作,称为“入队”。当队列中没有元素时(即head==tail),称为空队列。在我们的日常生活中,有很多情况都符合队列的特性。比如买票,每个排队买票的窗口就是一个队列。在这个队列当中,新来的人总是站在队列的最后面,来得越早的人越靠前,也就越早能买到票,就是先来的人先服务,我们...

2019-02-13 11:27:19 127

原创 快速排序

冒泡排序解决了桶排序浪费空间的问题,但算法效率却浪费了很多。有没有效率又高,又不浪费空间的算法呢?答案就是“快速排序”。简单说,快速排序就是使用“二分法”,以待排序数组第一个数为基准数,安排两个“哨兵”,左哨兵从左到右寻找第一个大于基准数的数,右哨兵从右到左寻找第一个小于基准数的数,找到则交换。当两个哨兵相遇时,再对相遇点两边的两个数组进行递归排序。#include<stdio....

2019-02-12 23:17:18 76

原创 冒泡排序

int main(){ /* 问题:假设班上有n个同学,考试了,满分是100分。他们的分数是iScore数组里的值,现将他们的分数打印输出。 */ //分数集合 int iScore[] = { 12,35,99,18,76}; //分数个数 int iCnt = sizeof(iScore) / sizeof(iScore[0]); //冒泡排序 //从大到小 for (...

2019-02-12 21:26:55 128

原创 桶插法

int main(){ /* 问题:假设班上有n个同学,考试了,考试的满分是10分,最低是0分。他们的分数是iScore数组里的值,现在将他们的分数打印输出。 */ //分数集合 int iScore[] = { 1,8,3,6,2,8,8,6 }; //分数个数 int iCnt = sizeof(iScore) / sizeof(iScore[0]); //桶个数 con...

2019-02-12 20:23:55 229

使用MFC套接字CAsyncSocket进行网络通信——客户端

MFC使用CAsyncSocket类对网络通信的操作进行了封装简化,使得简单重写几个接口函数就可以进行网络通信。资源为客户端程序。 实例使用VS2010编写。

2020-04-10

使用MFC套接字CAsyncSocket进行网络通信——服务器端

MFC使用CAsyncSocket类对网络通信的操作进行了封装简化,使得简单重写几个接口函数就可以进行网络通信,资源为实例工程。 使用VS2010开发。

2020-04-10

嵌入式C/C++语言精华文章集锦

嵌入式C/C++语言精华文章集锦 C 语言嵌入式系统编程修炼 C 语言高效编程的几招 C/C++程序员应聘常见面试题深入剖析

2011-08-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除