
算法学习笔记
文章平均质量分 69
Island_lin
这个作者很懒,什么都没留下…
展开
-
【算法学习笔记】02.wikioi1205 单词翻转
先分析一下自己的垃圾代码(通不过3.in)原创 2014-07-17 16:07:57 · 936 阅读 · 0 评论 -
【算法学习笔记】13.暴力求解法01 枚举排列
所谓暴力求解法,大意应该是根据提议讲所有可能的情况(优化过的研究yu)原创 2014-08-26 22:26:16 · 706 阅读 · 0 评论 -
【算法学习笔记】03.白书练习题stat(排序入门:冒泡,桶)
原题:输入一些学生的分数,哪个原创 2014-07-19 19:48:51 · 870 阅读 · 0 评论 -
【算法学习笔记】20.算法设计初步 归并排序 求逆序数
先放上老版代码,这个并不好,由于用到了各种指针和动态数组申请和释放,容易出现问题,不如第二种方法直接用临时数组来解决这个问题老版://归并 left是左边数组 left_len长度int* Merge(int* left,int left_len, int* right,int right_len){ //申请一个数组res来存储结果 int* res = (int *)原创 2015-02-16 15:29:42 · 648 阅读 · 0 评论 -
【算法学习笔记】22.算法设计初步 二分查找 上下界判断
二分查找的两种写法,递归和普通循环~ 大部分情况下都用普通的循环,因为递归法费空间。m = x+(y-x)/2;//更新middleint biFind(int* A,int len,int item,int cur){ //example: len 4: 2 4 5 3 middle = 1 (1.5) //example: len 5: 2 5 6 4 1 middle = 2 int m原创 2015-02-16 18:11:15 · 699 阅读 · 0 评论 -
【算法学习笔记】21.算法设计初步 求第k个数 划分法 快排法
第一种方法, 主要是分组每组五个排序,取中位数,再取中位数的中位数然后进行分割,根据MoM和k的比较进行递归查找。但是貌似当数量一大的时候,容易出现问题。暂时留有一定的疑问。这个的复杂度也是O(n)。//选择排序void SelectSort(long* A,int len=5){ for (int i=0; i<len; i++) { for (int j=i+原创 2015-02-16 15:50:41 · 610 阅读 · 0 评论 -
【算法学习笔记】16.暴力求解法04 回溯法03 剪枝法 带宽
在之前的 N 皇后和困难的串问题中,回溯法都是在解决可行性约束。换一句话说,对于回溯点的判断是用来验证此点是否合法。但是在一些优化问题的求解过程中,每一个点都是合法的,所以我们要进行剪枝。1.先得到一个解。(一般情况下不是最优解,实现细节:用一个极大的数先作为结果。)2.在回溯的过程中,判断继续进行是否肯定超过最优解。若是,则剪去。例子:UVa 140 题意 有一个无向图原创 2015-02-10 18:53:07 · 665 阅读 · 0 评论 -
【算法学习笔记】17.暴力求解法05 隐式图搜索1 迭代加深搜索 埃及分数
题目http://codevs.cn/problem/1288/卧槽。整了一天还是没全 AC 后面多层的时候不知道问题出在哪里了,跑不出来。这个题的难点在于解答树的每一层都是无穷多,这导致我们必须要强烈的剪枝!否则绝对没有办法跑完。由于题目的特殊性(拆分),所以我们要原创 2015-02-11 20:29:29 · 750 阅读 · 0 评论 -
【算法学习笔记】19.算法设计初步 最大子列和问题的三种方法
第一种就是纯粹的暴力枚举起始、终点。 O(n^3)第二种在第一种的基础上先进行初始化,将以第一个元素为起点,所有元素为终点的所有子列和存储在S数组中,所以在第三层循环中计算子列和是直接用S[j]-S[i-1]即可,这是利用了空间去换时间。O(n^2)第三种也是O(n^2),但是在第二种的基础上,要先算出非负数所在的下标从而减少计算和的次数,但是效果并不好。//算法3 O(n^2)//原创 2015-02-15 18:27:31 · 665 阅读 · 0 评论 -
【算法学习笔记】18.暴力求解法06 隐式图搜索2 八数码问题 未启发
/*因为注释很详细,就直接上代码了,需要注意的是,用了白书的三种方法来进行判重,其中最快捷的方法还是stl的set,还有哈希技术涉及到了多个链表的处理,还有一种就是编码解码技术,这个需要找到一个非常好的函数才能达到一一对应。而哈希表不需要一一对应(因为有链表)。*///// main.cpp// EightBits//// Created by LinYuchen on 2/13原创 2015-02-14 18:43:47 · 707 阅读 · 0 评论 -
【算法学习笔记】01.先说点什么吧
执行力太差,所以以写博客的形式督促自己。大概以后的博客会是解题报告或者领悟感想之类的风格吧。不想半途而废。原创 2014-07-16 20:23:51 · 490 阅读 · 0 评论 -
【算法学习笔记】14.暴力求解法03 回溯法01 N皇后和素数环
回溯法的含义回溯法(探索与回溯法)是一种选优搜索法,又称为试探法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。在包含问题的所有解的解空间树中,按照深度优先搜索的策略,从根结点出发深度探索解空间树。当探索到某一结点时,要先判断该结点是否包含问题的解,原创 2014-09-03 21:35:58 · 1005 阅读 · 0 评论 -
【算法学习笔记】15.暴力求解法04 回溯法02 困难的串
发现好久没来更新了,开学之后各种杂事,好久都没学习算法了,还好最近马上要学习计导里有关算法的部分了原创 2014-09-26 23:25:25 · 1076 阅读 · 0 评论 -
【算法学习笔记】05.qsort的初步应用
第一个题比较小,先说小题,原创 2014-07-29 19:28:15 · 557 阅读 · 0 评论 -
【算法学习笔记】04.C++中结构体定义练习(bign初步)
练习基本上是照着源码打的,,主要是各种const想不清楚yu原创 2014-07-29 18:44:18 · 590 阅读 · 0 评论 -
【算法学习笔记】08.数据结构基础 二叉树初步练习1
此次重点在于二叉树概念的理解,二叉树的结构体构造,er原创 2014-08-11 17:43:19 · 724 阅读 · 0 评论 -
【算法学习笔记】07.数据结构基础 链表 初步练习
写这篇文章时离学完列表已经很久了 最近真的是很懒。数据结构这部分在刘汝佳的白书上的部分太少了,我ganj原创 2014-08-11 17:33:18 · 834 阅读 · 0 评论 -
【算法学习笔记】06.数据结构基础 队列与堆栈初步
队列是FIFO,因为先进先出,和排队一样。这里要求de原创 2014-08-03 17:29:03 · 526 阅读 · 0 评论 -
【算法学习笔记】10.数据结构基础 二叉树初步练习3(遍历与递归复习)
首先先来复习一下递归法解决问题。引例就用十分经典的原创 2014-08-11 19:25:14 · 849 阅读 · 0 评论 -
【算法学习笔记】11.数据结构基础 二叉树初步练习4
记录二叉树的最大宽度W和深度原创 2014-08-13 20:15:23 · 621 阅读 · 0 评论 -
【算法学习笔记】09.数据结构基础 二叉树初步练习2
二叉树概念的理解,二叉树的结构体构造(指针的大量练习),数组方式构造(简易),BFS(宽度优先遍历)原创 2014-08-11 17:45:11 · 857 阅读 · 0 评论 -
【算法学习笔记】12.数据结构基础 图的初步1
= ,= 妈蛋,拓扑排序和欧拉回路先fangyi原创 2014-08-16 18:14:20 · 599 阅读 · 0 评论 -
【算法学习笔记】14.暴力求解法02 子集生成的三种方法
子集的生成实例input 4output原创 2014-08-29 22:26:51 · 700 阅读 · 0 评论 -
【算法学习笔记】23.动态规划 解题报告 SJTU_OJ 1280 整装待发
/*http://acm.sjtu.edu.cn/OnlineJudge/problem/1280题目的描述比较逗比,核心的数学问题是这样的:一个数集M(此处集合可以认为元素之间没有互异性),有N个元素,从中取出t个元素(t!=0),使得它们的和是F的倍数。输出所有取法的个数除以1e8之后的余数。*/1.暴力搜索 之前在白书里学习过子集生成的几种方法,其原创 2015-03-30 14:42:20 · 722 阅读 · 0 评论