![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
1440!
这个作者很懒,什么都没留下…
展开
-
链表LinkedList
链表介绍链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,操作复杂。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是转载 2017-01-14 14:51:37 · 521 阅读 · 0 评论 -
图:最少转机
最少转机:图的广度优先遍历翻译 2017-01-22 09:51:47 · 407 阅读 · 0 评论 -
图:深度和广度优先算法
文章摘之:《啊哈!算法》转载 2017-01-22 09:39:40 · 264 阅读 · 0 评论 -
递归
一、什么是递归很多数据结构的定义都是根据递归性质来进行定义的,是因为这些结构固有的性质。递归是指某个函数直接或间接的调用自身。问题的求解过程就是划分成许多相同性质的子问题的求解,而小问题的求解过程可以很容易的求出,这些子问题的解就构成里原问题的解了。二、递归的几个特点递归式,就是如何将原问题划分成子问题。递归出口,递归终止的条件,即最小子问题的求解,可以允许多个出口。界函数,问题规模变化的函数翻译 2017-01-11 18:18:12 · 288 阅读 · 0 评论 -
队列
队列简介队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。 队列的数据元素又称为队列元素。在队列中插入一个队列元素称为入队,从队列中删除一个队列元素成为出队。因为队列只允许在一段插入,在另一端删转载 2017-01-13 11:12:45 · 373 阅读 · 0 评论 -
水管道游戏
struct note { public int x;//横坐标 public int y; public int s; } class Program { static int[,] book = new int[20, 20]; static int[,] a = new int[20转载 2017-01-18 18:20:37 · 429 阅读 · 0 评论 -
快速排序
快速排序(Quicksort)是对冒泡排序的一种改进。快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。算法介绍设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常原创 2017-01-12 19:23:24 · 258 阅读 · 0 评论 -
广度优先算法(BFS)
广度优先算法(Breadth-First Search)同广度优先搜索,又称作宽度优先搜索,或横向优先搜索,简称BFS,是一种图形搜索演算法。简单的说,BFS是从根节点开始,沿着树的宽度遍历树的节点,如果发现目标,则演算终止。广度优先搜索的实现一般采用open-closed表。做法BFS是一种盲目搜寻法,目的是系统地展开并检查图中的所有节点,以找寻结果。换句话说,它并不考虑结果的可能位置,彻底地搜索转载 2017-01-16 15:40:03 · 822 阅读 · 0 评论 -
迷宫代码:深度优先算法
完整迷宫代码 private static int nn=5,m =4, p=4, q=3, min = 99999999; private static int[,] aa = new int[51, 51]; private static int[,] book1 = new int[51, 51]; private static void转载 2017-01-16 10:40:21 · 1094 阅读 · 0 评论 -
将1-9数值不重复填充到9个盒子中
将1-9数值填充到9个盒子中。 【】【】【】+【】【】【】=【】【】【】 如:168+327=495条件限制:1-9不能重复使用等号左边加起来等于右边实现方式:saveNum数组来存放:1-9数值book数组用来标记使用过的数值count代表共有9个数字调用递归的方法C#代码实现 #region public static int[] saveNum = n翻译 2017-01-15 14:39:37 · 5670 阅读 · 0 评论 -
深度优先算法
深度优先搜索算法(Depth-First-Search)是搜索算法的一种。是沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点v的所有边都己被探寻过,搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源节点可达的所有节点为止。如果还存在未被发现的节点,则选择其中一个作为源节点并重复以上过程,整个进程反复进行直到所有节点都被访问为止。属于盲目搜索。 深度优先搜索是图论中的经典转载 2017-01-15 13:48:19 · 2063 阅读 · 0 评论 -
用火柴棒搭A+B=C形式的等式
今天看了一下<啊哈!算法>这本书,书中提到了一个很有意思的算法,使用火柴棒搭A+B=C;等式中A,B,C均用火柴棍拼出来的整数,数值0-9的拼法如下图所示:注意事项:加号与等号各自需要两根火柴棍如果A<>B,则A+B=C与B+A=C视为不同的等式(A,B,C都大于0)所有火柴棒都必须用上。假设总数不超过11111C#代码如下#region 算法搭火柴棍 /// <summa转载 2017-01-15 09:24:07 · 1728 阅读 · 0 评论 -
桶排序:某区间内排序
桶排序 (Bucket sort)或所谓的箱排序 是一个排序算法,工作的原理是将数组分到有限数量的桶子里。每个桶子再个别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排序)。桶排序是鸽巢排序的一种归纳结果。当要被排序的数组内的数值是均匀分配的时候,桶排序使用线性时间(Θ(n))。但桶排序并不是 比较排序,他不受到 O(n log n) 下限的影响。定义假定:输入是由一个随机过程原创 2017-01-12 18:21:10 · 681 阅读 · 0 评论 -
算法:Floyd-Warshall
算法:Floyd-Warshall转载 2017-01-22 10:33:39 · 919 阅读 · 0 评论