![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
基础算法
qilimi-1
呵呵呵呵
展开
-
快速排列
~~~~ 快速排列,又称划分交换排序,简称快排,一种排序算法。在平均状况下,排序nnn个项目要O(nlog n)O(nlog~n)O(nlog n)次比较。在最坏状况下则需要O(n2)O(n^2)O(n2)次比较,但这次状况并不常见。事实上,快速排序Θ(n log ...原创 2020-01-15 10:25:40 · 300 阅读 · 0 评论 -
分治法
~~~~ 在计算机科学中,分支法是建基于多项分支递归地一种很重要的算法范式。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。 ~~~~ ...原创 2020-01-13 19:18:18 · 317 阅读 · 0 评论 -
二分查找算法
~~~~ 在计算机科技中,二分查找算法,也称为折半搜索算法、对数搜索算法,是一种在有序数列中查找某一特定元素的搜索算法。搜索过程从数组的中间元素开始,如果中间元素正好要查找的元素,则搜索过程结束;如果某一特定元素大于或者小于中间元素,则数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较...原创 2020-01-12 14:51:17 · 348 阅读 · 0 评论 -
高斯平滑
结果原创 2019-12-02 14:23:07 · 241 阅读 · 0 评论 -
二叉树遍历递归和非递归实现
遍历一共有三种,前序中序后序原创 2019-11-22 14:31:27 · 109 阅读 · 0 评论 -
线程和进程的区别,线程如何实现同步和通信,进程如何实现通信
线程和进程的区别进程是系统资源分配最小的单位。线程是程序执行最小的单位进程有自己独立地址空间,每启动一个进程,系统都会为它分配地址空间,建立数据表来维护代码段、堆栈和数据块,这种操作非常昂贵。线程是共享进程中的数据的,使用相同的地址空间,因此cpu切换到一个线程花费远比进程要小很多,同时创建一个线程的开销也比进程要小很多。进程间的通讯较为复杂,使用:无名管道、有名管道、信号、共...原创 2019-11-21 20:14:13 · 222 阅读 · 0 评论 -
十字链表
~~~~ 有需求才有供应,很多东西,都是为了解决实际问题才出现的,项目中出现了很多稀疏矩阵,而且需要对他们进行运算,而十字链表就是为了解决稀疏矩阵而出现的一种数据结构。稀疏矩阵 ~~~~ 稀疏矩阵(英语:spa...原创 2019-04-26 11:26:29 · 9457 阅读 · 2 评论 -
C++ 堆栈 stack
[TOP] ~~~~ 栈和队列是两种重要的线性结构,是很常用的数据结构。从数据结构的角度看,栈和队列也是线性结构,其特殊性在于栈和队列的基本操作是线性表操作的子集,它们是操作受限的线性表,因此,可称为限定性的数据结构。但是从数据类型角度看,它们是和线性表大不相同的两类重要的抽象数据类型。由于它们广泛应用...原创 2019-11-22 11:08:34 · 517 阅读 · 0 评论 -
C++ 分配器 allocator
在C++编程中,分配器(英语:allocator)是C++标准库的重要组成部分。C++的库中定义了多种被统称为“容器”的数据结构(如链表、集合等),这些容器的共同特征之一,就是其大小可以在程序的运行时改变;为了实现这一点,进行动态内存分配就显得尤为必要,在此分配器就用于处理容器对内存的分配与释放请求。换句话说,分配器用于封装标准模板库(STL)容器在内存管理上的低层细节。默认情况下,C++标准库使...原创 2019-03-28 11:11:52 · 3775 阅读 · 0 评论 -
多线程,信号量实现
~~~~ 前面我写了关于条件变量的一篇博客,我就提到了,std里面没有信号量,当然linux下是有的,windows下也有,只是std里面找不到,然后去网上找,就发现是因为信号量可以直接用锁加条件变量实现它的功能,而且更加安全,我就想可以试一下,然后就写了一个信号量的类,外加例子。先是实现:#incl...原创 2019-03-23 16:33:37 · 162 阅读 · 0 评论 -
不同系统下连续申请内存的地址变化的测试 C++
~~~~ 无聊写了一个小测试,在windows下使用vs编译,和gcc编译的C++程序,内存地址分配上会有什么差异,还有和linux上gcc编译的差异。先附上代码,外加结果:#include <string>#include <stdio.h>#include <st...原创 2019-03-15 14:48:53 · 264 阅读 · 0 评论 -
windows安装gcc
~~~~ 最近测试一下windows上vs编译和gcc编译的区别,同时比较ubuntu上gcc编译的却别,主要在内存上,做了一个小测试,现在写下安装gcc的过程。下载 ~~~~ 先去官网下载安装原创 2019-03-15 14:21:09 · 48197 阅读 · 3 评论 -
数据结构篇(1) 线性表
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;~~~~&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;大学学的都还给老师了,只好自己重新学习一下,感觉都忘得差不多了,整理一下学过的数据结构,和对应的实现,以及实际例子。定义&amp;nbsp;&amp;nbsp;&a原创 2019-03-11 09:35:41 · 257 阅读 · 0 评论 -
神经网络和深度学习(1)
记录下自己学习的东西,能加深影响吧!学的基本忘了,从新学,把基础都写一遍。1.感知器感知器在20世纪五、六十年代科学家Frank Rosenblatt发明(别人做了贡献,我们要记住他),其受到Warren McCulloch和Walter Pitts早期工作的影响。 ~~~~ 神经网络其实就算一...原创 2018-12-19 11:38:29 · 233 阅读 · 0 评论 -
opencv矩阵学习(2)
上一届写了一个简单的矩阵例子,这一节讲矩阵的一些运用,我们正好用在神经网络运算中。原创 2018-12-20 18:02:31 · 135 阅读 · 0 评论 -
输出指定范围内的素数(质数)
这里最近看到了一个方法Sieve of Eratosthenes的方法,突然觉得以前的方法太坑了,我以前都是直接使用穷举法。 先说一下我理解的原理: 首先任何一个大于2的合数都等于一个素数乘以一个正整数,根据这个就可以开始推下面的方法。 问题:求1-n的所有素数 步骤: 1、创建一个n大小的数组A,将1标记为非素数,将2标记...原创 2018-06-06 18:26:40 · 13551 阅读 · 1 评论