- 博客(17)
- 资源 (1)
- 收藏
- 关注

原创 十大排序基础排序算法总结 与 速度对比
1、十大排序基础排序算法总结 与速度对比 —— 耗时测试 测试环境:CPU: i5-3210M 2.5GHz 2.5GHz; 内存:4G; Win10 64位系统; VS 2015 release模式 32位。 测试数据均为 int 类型: 取值规则为:(rand() % (N)) * 3 - ra...
2019-05-23 23:46:17
4813
2
原创 Python脚本打包为exe
直接Pyinstaller:cmdpyinstaller -Fw D:\test\test.py # 控制台程序 加w不显示控制台,去掉w就能显示控制台(-F 是打包成一个文件,-w是不出现调试窗口,窗体程序要这个)用这个打包出来的exe会很大,没面子。百度一下,据说Anaconda环境打包会使exe小很多。但是,我不知道Anaconda,只知道pipenv,都可以创建py虚拟环境。虚拟环境Pyinstaller:cmd#安装pipenvpip in.
2021-03-04 21:50:40
196
1
原创 标准SQL语句综合
-- 创建表CREATE TABLE brand (id INT PRIMARY KEY AUTO_INCREMENT, -- 主键 自增 factory VARCHAR(255) NOT NULL, -- 非空 -- factory VARCHAR(255) REFERENCES factory(name), name VA...
2019-07-11 15:56:01
393
原创 python爬虫综合概述(更新中...)
1.urllib库1、urllib库主要包含4个模块: ①request : 它是最基本的HTTP 请求模块,可以用来模拟发送请求。就像在浏览器里输入网址然后回车一样,只需要给库方法传入URL 以及额外的参数,就可以模拟实现这个过程了。 ②error : 异常处理模块,如果出现请求错误, 我们可以捕获这些异常,然后进行重试或其他操作以保证程序不会意外终止。 ③pars...
2019-07-07 18:27:22
406
原创 N 皇后问题
N 皇后问题 N皇后问题是经典回溯问题之一,解决方案是使用栈结构实现试探回溯。 以下代码使用递归栈实现回溯法,试探出所有可能解。/** N_Queen.h*/constexpr const int N = 8;int _a[N] = { 0 }; //数列代表 对应下标行 中的棋子 放在哪一列(以 0 代表第1 行 或 列)bool fla...
2019-06-22 20:35:16
153
原创 倒水问题
Q:有A B两个杯子,A杯子 7 L,B杯子 9 L,如何得到 1 L水?A:使用BFS或者DFS 边建立图,边搜索 有装 1 L水的杯子 的状态。(实际上该问题为多叉树结构,BFS类似于层次遍历,DFS类似于先续遍历,在遍历过程中建立 树 ,到有装 1 L水的杯子 的节点停止。)给出代码及注释:/*******************************************...
2019-06-09 14:58:00
1167
原创 基本排序算法 之十 ——基数排序
基本排序算法总结与对比之十 ——基数排序首先 基数排序分为 两类: 第一类:最低位优先法,简称LSD法:先从最低位开始排序,再对次低位排序,直到对最高位排序后得到一个有序序列。本文将介绍这种方法。 第二类:最高位优先法,简称MSD法:先从最高位开始排序,再逐个对各分组内部按次高位进行子排序,循环直到最低位。这种方法的优势是可以处理长度不一致的数据,...
2019-05-24 00:10:20
2373
1
原创 基本排序算法 之九 ——桶排序
基本排序算法总结与对比之九 ——桶排序1、桶排序 桶排序是对基数排序的演绎。计数排序是一个萝卜(相同的数)一个坑,而桶排序是几个萝卜(一定范围的数)一个筐。桶排序是将数据分到有限个桶中,然后对每个桶中的数据再排序(可能继续用桶排序,也可能用其他的排序方法)。 那么要解决的问题是: ① 怎么划分桶?即 数据该划分为几个范围(分几个桶的问...
2019-05-24 00:08:17
548
原创 基本排序算法 之八 ——计数排序
基本排序算法总结与对比之八 ——计数排序1、计数排序 前面介绍的七种排序算法都属于 基于比较的排序算法(CBA式算法)。这类算法的共同点就是:时间复杂度最优只能到O(nlogn)。接下来包括这次介绍的三种算法都属于非比较算法,其时间复杂度平均情况下均为O(k·n),k为常数。 计数排序又叫鸽巢排序。就是用一个与 数列最大数数值 相等长度 的数组...
2019-05-24 00:06:38
995
原创 基本排序算法 之七 ——堆排序
基本排序算法总结与对比之七 ——堆排序1、堆排序 递归版本 首先放递归的版本,因为递归版本更容易理解过程。 堆排序实际是把数列看成一颗完全二叉树,而不是真的去用 指针结构体 构造一颗二叉树。数列在堆中从上到下,从左至右依次排成一棵树。 下面是递归版本的代码//用来调整节点,保证节点大于左右孩子template<type...
2019-05-24 00:04:50
248
原创 基本排序算法 之六 ——归并排序
基本排序算法总结与对比之六 ——归并排序1、归并排序 递归版本template<typename T>void mergeSort(T arr[], int lo, int hi){ if(hi - lo < 2) return; int mi = (lo + hi) >> 1; mergeSort(arr, lo,...
2019-05-24 00:02:58
389
原创 基本排序算法 之五 ——快速排序
基本排序算法总结与对比之五 ——快速排序1、快速排序 二路双向快排 版本 首先列出教科书上最普遍的版本:二路快排,准确的说 应该叫 二路双向快排。笔者认为这个应该是效率最为均衡的版本,网络上也流传着 三路快排,但是三路快排仅仅是在序列中存在大量重复元素时,才会发挥出其优势。在对 随机序列 和 近有序序列排序时,效率均低于二路双向快排。 ...
2019-05-24 00:01:04
1193
2
原创 基本排序算法 之四 ——希尔排序
基本排序算法总结与对比之四 ——希尔排序1、希尔排序 希尔排序实质是不断对数组分组,并对每组数据进行插入排序,分组由 len/step组 直到1组(len为数组长度,step为分组长度)。 本质上讲,希尔排序算法是直接插入排序算法的一种改进,分组后数据移动长度变短,减少了其复制的次数,速度要快很多。template<typename ...
2019-05-23 23:58:39
676
原创 基本排序算法 之三 ——插入排序
基本排序算法总结与对比之三 ——插入排序1、直接插入排序 直接插入排序过程如下图所示: ① 从第一个元素开始 仅一个3 为有序数列,紧跟有序数列后的 第一个元素 1 往有序数列里插入,形成包含 2 个元素1, 3 的有序数列; ② 紧跟有序数列后的 第一个元素 4 往有序数列里插入,形成包含 3 个元素1, 3, 4的有序数列...
2019-05-23 23:56:46
403
原创 基本排序算法 之二 ——选择排序
基本排序算法总结与对比之二 ——选择排序1、选择排序 选择排序的思路是每趟扫描数列,把最小的元素放到前面(或者把最大的元素放到前面)。template<typename T>void selectSort(T arr[], int lo, int hi){ int minIndex; //用来记录比较中最小元素的下标 ...
2019-05-23 23:53:11
244
原创 基本排序算法 之一 ——冒泡排序
基本排序算法总结与对比之一 ——冒泡排序1、未改进的冒泡排序 —— 标准冒泡排序template<typename T>void bubbleSort(T arr[], int len){ for(int i = 0; i < len - 1; i++) { for(int j = 0; j < len - 1 - ...
2019-05-23 23:48:06
463
原创 python控制台实现俄罗斯方块
初学python,实现了一个控制台上的俄罗斯方块。(没有使用pygame)。 【环境:python3,使用python2可能在显示时有编码问题,不过不影响功能。】 先说一下思路: 采用局部屏幕刷新,精确到每一个方块,除初始化时刷新了两块显示方块的区域。(没有使用sys("cls"),不会闪屏)。 使用 c...
2018-04-14 15:12:14
3871
32位libmysql.dll(基于mysql5.6)
2018-07-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人