
算法
文章平均质量分 55
晴空~
又菜又爱玩!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Gumbel-Softmax简介
Gumbel softmax:解决了采样于计算图的分离问题。原创 2023-08-07 10:40:12 · 3368 阅读 · 0 评论 -
完全背包—动态规划
对完全背包进行介绍,同时比较其和01背包的异同。原创 2023-02-23 21:09:28 · 406 阅读 · 0 评论 -
01背包—动态规划
对01背包做简要介绍。原创 2023-02-22 16:57:55 · 1002 阅读 · 0 评论 -
KMP -- 代码求解next数组
KMP算法是字符串模式匹配中比较经典的算法,但同时也有一定难度,希望在看完本博客之后,自己 写一个模式串然后利用本代码debug一行一行的跑一遍,相信大家一定会明白的。原创 2023-01-05 15:41:10 · 2294 阅读 · 0 评论 -
两两交换链表中的节点 -- 虚拟头节点
两两交换链表节点:1. 增加对虚拟头节点难点理解2. 增加对链表基础操作的理解原创 2022-12-31 15:29:39 · 754 阅读 · 0 评论 -
59螺旋数组 -- 循环不变量
螺旋数组本身没有具体的算法,但是通过该题目可以加强对搜索区间和循环不变量的理解。所谓循环不变量既每次循环时都应遵循的准则,在本题中则代表,每次循环时都应保持。本题选用的是左闭右开搜索区间。的搜索区间,不能一会。原创 2022-12-29 17:18:53 · 126 阅读 · 0 评论 -
209长度最小子数组 -- 滑动窗口(双指针)
滑动窗口,双指针法原创 2022-12-29 15:58:59 · 133 阅读 · 0 评论 -
27移除元素--双指针(快慢指针)
移除元素这道题看起来很简单,但其蕴含的快慢指针的思想十分重要。原创 2022-12-28 16:46:19 · 385 阅读 · 0 评论 -
704二分查找法--搜索区间
二分查找法是算法学习中很基础的算法,但是其也是很重要的算法,将二分查找法搞明白对后续算法的学习有着事半功倍的作用。本体难点:二分的判断。原创 2022-12-28 15:59:41 · 2965 阅读 · 0 评论 -
Go语言实现生产者消费者问题
生产者消费者模式某个模块负责产生数据,这些数据由另一个模块来负责处理(此处的模块是广义的,可以是类、函数、线程、进程等)。产生数据的模块,就形象地称为生产者;而处理数据的模块,就称为消费者。单单抽象出生产者和消费者,还够不上是生产者/消费者模式。该模式还需要有一个缓冲区处于生产者和消费者之间,作为一个中介。生产者把数据放入缓冲区,而消费者从缓冲区取出数据。利用生产者消费者模式,设计一个简单的问题并通过编程解决。利用goroutine和channel实现一个计算int64随机数各位和的程序生产原创 2021-02-20 22:27:31 · 475 阅读 · 0 评论 -
Go语言实现读者写者问题
Go语言sync中内置了读写锁可以很简单的实现读者写者问题。读者写者是一个非常著名的同步问题。读者写者问题描述非常简单,有几个写者与很多读者,多个读者可以同时读文件,但写者在写文件时不允许有读者在读文件,同样有读者在读文件时写者也不去能写文件。package mainimport ( "fmt" "sync" "time")var ( x int wg sync.WaitGroup rwLock sync.RWMutex)func write() { defer wg原创 2021-02-20 22:11:45 · 260 阅读 · 1 评论 -
九大排序算法联系与分析
九大排序算法设计与分析一切问题的解决都有其相应的方法论做指导。作为程序设计的基本问题,排序算法经过发展已经有了较为成熟的解决方案。排序算法看似简单但是其中却蕴含着算法设计的基本思想。各个排序算法不是孤立的,他们是在科学的理论框架下的产物。本文以排序算法为媒介,通过学习排序算法,掌握分析问题和解决问题的基本思路。编程论到极致,核心非代码,即思想排序定义:排序是计算机内经常进行的一种...原创 2020-03-17 14:24:01 · 657 阅读 · 2 评论 -
C语言函数作为函数参数
c,c++中是可以向Python那样将函数作为函数参数的,具体实现方法如下原创 2019-09-13 11:35:40 · 33535 阅读 · 8 评论 -
数据结构:并查集
并查集并查集是一种树型的数据结构,用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。常常在使用中以森林来表示。并查集是一种特殊的树形结构。其主要应用在集合论中。在集合论中,判断两个点是否在同一集合是一件不简单的事情。在成千上万的数据里,判断两点是否在同一集合是很耗费时间的。因此,引入了并查集的思想。并查集是一种树形结构,一棵树就是一个集合。判断两个点是否在同一集合中...原创 2020-01-01 21:13:14 · 238 阅读 · 0 评论 -
图论:最小生成树之Kruskal算法
Kruskal算法是一种用来查找最小生成树的算法,由Joseph Kruskal在1956年发表。用来解决同样问题的还有Prim算法和Boruvka算法等。三种算法都是贪心算法的应用。和Boruvka算法不同的地方是,Kruskal算法在图中存在相同权值的边时也有效。...原创 2019-12-31 22:25:43 · 881 阅读 · 0 评论 -
图论:最小生成树之Prim算法
图论——最小生成树之Prim算法普里姆算法(Prim算法),图论中的一种算法,可在加权连通图里搜索最小生成树。意即由此算法搜索到的边子集所构成的树中,不但包括了连通图里的所有顶点(英语:Vertex (graph theory)),且其所有边的权值之和亦为最小。该算法于1930年由捷克数学家沃伊捷赫·亚尔尼克(英语:Vojtěch Jarník)发现;并在1957年由美国计算机科学家罗伯特·普...原创 2019-12-31 10:54:59 · 1156 阅读 · 0 评论 -
算法:递归
递归程序调用自身的编程技巧称为递归( recursion)。一般来说,递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回。当一个比较规模比较大的问题可以分为规律相同规模比较小的子问题时,可以考虑将其转化为递归问题。递归最少应包含两部分,递归边界与递归前进段(函数体)。头递归函数调用时,刚开始没有进行函数的数据运算,当函数到达递归边界时...原创 2019-09-13 15:22:32 · 358 阅读 · 0 评论