- 博客(18)
- 资源 (2)
- 收藏
- 关注
原创 虚拟机上Linux系统的网络连接and远程登录and文件传输
1. 准备条件: 虚拟机vmware WorkStation,已经安装好Linux系统 2. 虚拟机的网络连接 (1) 首先简单介绍一下虚拟机的三种网络连接方式: a. 主机模式: 相当于一个独立系统,与外部无法通信 b. 桥接模式: 要求虚拟机与主机位于同一网段内,可以与外部通信,但是容易造成ip冲突 c. NAT模式: 网络地址转换模式,共享主机ip...
2022-04-12 11:56:20
1573
原创 函数传参之入栈出栈问题
代码段: 问题1: 参数入栈顺序 问题2: add函数结束时,x,y变量被释放了吗 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> #include <stdlib.h> #include <time.h> #include <windows.h> int add(int x, int y) { return x + y; } int main(
2022-03-16 18:59:18
1522
原创 c/c++小项目之贪吃蛇1.0
1、头文件 #pragma once #include <windows.h> #define WIDTH 60 //墙宽 #define HIGH 20 //墙高 #define XOFFSET 30 //墙x轴偏移量 #define YOFFSET 2 //墙x轴偏移量 typedef struct _body { int x; int y; }BODY; typedef struct _snake { ...
2022-03-16 16:36:27
853
原创 排序算法之堆排序
一、算法简介 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),是不稳定排序。 在这之前需要先对堆有一个比较清楚的认识: 堆是一个顺序存储的完全二叉树, 其中每个结点的关键字都不大于其孩子结点的关键字,这样的堆称为小根堆。 其中每个结点的关键字都不小于其孩子结点的关键字,这样的堆称为大根堆。 同时,我们对堆中的结点按层进行编号,将这种逻辑结构映射到数组中就是下面这个样子 该数...
2021-11-17 18:58:01
175
原创 十大排序算法之归并排序
一、算法简介 归并排序(Merge sort)是建立在归并操作上的一种稳定、有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。 实现方法分为 自上而下的递归 自下而上的迭代 二、原理 1. 从下往上的归并排序:将待排序的数列分成若干个长度为1的子数列,然后将这些数列两两合并;得到若干个长度为2的有序数列,再...
2021-11-17 14:02:34
962
原创 十大排序算法之希尔排序
一、算法简介 希尔排序是希尔(Donald Shell)于1959年提出的一种排序算法。希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序,同时该算法是冲破O(n2)的第一批算法之一,希尔排序是非稳定排序算法 二、原理 希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。 简单插入排序很循规蹈矩,不管数组分布是怎么样...
2021-11-17 13:55:45
228
原创 十大排序算法之快速排序
一、算法简介 快速排序使用分治法(Divide and conquer)策略来把一个串行(list)分为两个子串行(sub-lists)。本质上来看,是在冒泡排序基础上的递归分治法。 在平均状况下,排序 n 个项目要 Ο(nlogn) 次比较。在最坏状况下则需要 Ο(n2) 次比较,但这种状况并不常见。事实上,快速排序通常明显比其他 Ο(nlogn) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。对绝大多数顺序性较弱的随机数...
2021-11-17 12:13:26
1020
原创 十大排序算法之选择排序
一、算法介绍 选择排序是一种简单直观的排序算法,无论什么数据进去都是 O(n²) 的时间复杂度。所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用额外的内存空间了吧 二、原理 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 三、程序 #include <stdio.h> #include <stdlib.h> #defin.
2021-11-17 10:52:43
160
原创 十大排序算法之插入排序
一、算法介绍 对于少量元素的排序,它是一个有效的算法。插入排序是一种最简单的排序方法。 插入排序的平均时间复杂度也是 O(n^2),空间复杂度为常数阶 O(1),具体时间复杂度和数组的有序性也是有关联的。 插入排序中,当待排序数组是有序时,是最优的情况,只需当前数跟前一个数比较一下就可以了,这时一共需要比较 N-1 次,时间复杂度为 O(N)。最坏的情况是待排序数组是逆序的,此时需要比较次数最多,最坏的情况是 O(n^2)。 二、原理 通过构建有序序列,对于未...
2021-11-17 10:46:14
673
原创 十大排序算法之冒泡排序
一、原理 它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端 时间复杂度: 二、动图、 三、程序 #include <stdio.h> #include <stdlib.h> #define L 10 void printArray(int*); void bubbleSort(int*); i
2021-11-17 10:35:04
495
原创 排序算法简介
一、分类 排序算法可以分为比较类排序和非比较类排序 比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。 非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序 二、算法复杂度 复杂度分为时间复杂度与空间复杂度两个指标,由于现在计算机硬件的发展,计算机内存大大提升,时间复杂度成为主要考虑因素。 三、相关概念 稳定:如果a原本在b前面
2021-11-17 10:21:55
282
原创 递归和迭代
一递归: 程序调用自身的编程技巧称为递归(百科解释)。也就是以相似的方式重复自身的 过程。在程序中表现为,在函数定义中直接或者间接的调用自身,常用的递归函数 特点:(A调用A) 分为“递推”和“回归”的过程,当“递推”到达底部时,也就是到达终止条件时,就会开始 “回归”,有去有回。 函数中的具体形式: Void recurs (argumentlist) ...
2021-11-15 12:21:19
232
原创 时间函数的使用 c/c++
c/c++的时间函数是使用 一、明确几个时间概念 Coordinated Universal Time(UTC):世界标准时间,也就是格林威治标准时间,中国位于东八区,中国内地的时间为UTC+8 Calender Time:日历时间,从一个时间点(1970年1月1日0时0分0秒)到现在时间点所经历的秒数 Clock tick:时钟计时单元 二、相关头文件: time.h tm结构: #ifndef _TM_DEFINED struct tm { in...
2021-11-13 18:13:47
312
原创 反向输出链表
/* 反向输出链表: 1.不改变链表结构:递归输出 2.改变链表结构:反转链表 */ #include <stdio.h> #include <stdlib.h> typedef struct LNode{ int data; struct LNode * next; } LNode,*LinkList; LinkList initList( int n ); void printList( LinkList...
2021-11-10 20:52:02
1348
原创 链表的创建、连接
/* 1.链表由数据域和指针域构成 2.头指针(必须有),头结点(一般含有,数据域可以包含一些链表信息的数据,指针域指向首元结点) 3.单链表的创建、连接 */ #include <stdio.h> #include <stdlib.h> typedef struct LNode{ int data; struct LNode * next; }LNode,*LinkList; LinkList initList(int...
2021-11-10 13:23:25
1067
原创 人脸检测之Opencv训练分类器
网上找了很多方法,自己做了一点总结: 1.首先,准备好数据库,我用的MIT的人脸数据库 2.创建一个工作用的文件夹,如D:/opencv_clssify 3.
2021-06-06 21:12:38
1099
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人