8 lalor

尚未进行身份认证

Nothing is impossible!

等级
TA的排名 5k+

重磅 | Python高质量编程免费发布 #P1000#​

文章来源:https://mp.weixin.qq.com/s/Q8fDcZ2Z9OUhKFyuVOcwGg本公众号(InsideMySQL)接下来就将会免费发布一门课程,课程名称是《Python高质量编程》,课程共包含14篇高质量的Python文章,计划每周三发布1篇,分14周发布完成,欢迎大家转发。课程背景我是2009年开始接触Python语言的,见证了Python技术在国内从无...

2019-03-20 19:47:23

Don't Track Me Google

用Google的第一大烦恼是随时被墙。番羽土啬吧。用Google的第二大烦恼是,点击的链接总要过一道Google的统计。比如搜索test,第一条是www.test.com,但是点击的时候,打开的页面是 http://www.google.com.hk/url?sa=t&rct=j&q=&esrc=s&frm=1&source=web&cd=1&ved=0CCoQFjAA&u

2012-10-26 15:42:37

你应该知道的vim插件之surround.vim

写代码的时候你会发现这个插件是多么有用!强烈推荐!0×01.change123456cs"'cs"cs)]cstp>csw'csW'1234567891011文本       命令

2012-10-21 16:14:10

linux 使用boost

Linux上安装使用boost入门指导获得boostboost分布只需要头文件的库使用boost建立一个简单的程序准备使用boost二进制文件库把你的程序链接到boost库1.获得boost下载boost_1_46_1.tar.bz2解压2.boost分布boost_1_46_1.........................boost根目录  boost/.

2012-10-06 15:26:29

旋转数组

问题定义:   给定一个数组data[]和一个数M,向右旋转M位,要求时间复杂度为O(n),空间复杂度为O(1),如,chardata[]="abcde",M=2,旋转以后data应该为cdeab,如何高效的实现该功能?这是一个非常经典的题目,第一次自己看到可能根本想不出来,也是09年计算机研究生入学考试的算法题,该题在《编程珠玑》和《编程之美》里都有讨论,写这篇文章的原因

2012-09-09 21:31:38

遗传算法求解旅行商问题

1.遗传算法    遗传算法是受大自然的启发,模拟生物在自然环境中的遗传和进化过程而形成的一种自适应、具有全局优化能力的随机搜索算法。自然界的进化包括3个原则:(1)适者生存原则,这意味着适应能力强的物种,会在残酷的竞争中生存下来,而适应能力差的物种会逐渐地消亡。(2)两性繁殖。这意味着种群中性别不同的个体,生活在一起,产生新的个体。(3)变异。由于环境的变化,新

2012-06-30 00:03:03

模拟退火算法求解旅行商问题

一.爬山算法(HillClimbing)        介绍模拟退火前,先介绍爬山算法。爬山算法是一种简单的贪心搜索算法,该算法每次从当前解的临近解空间中选择一个最优解作为当前解,直到达到一个局部最优解。        爬山算法实现很简单,其主要缺点是会陷入局部最优解,而不一定能搜索到全局最优解。如图1所示:假设C点为当前解,爬山算法搜索到A点这个局部最优解就会停止搜

2012-06-24 22:54:25

Ubuntu下LaTex中文环境配置

LaTeX是一个强大的排版软件,但是其最初只是为英文排版而设计的。为了使其能够胜任中文排版的重任,我们还需要进行一些额外的调教。这篇文章中,就谈谈如何在Ubuntu下(使用12.04)进行LaTeX中文环境配置。第一步,安装基本的LaTeX环境:1sudo apt-get install texlive第二步,安装中文

2012-06-09 22:59:08

STL中各种容器的删除操作

在应用中,我们通常不可避免地要对容器中的某些特定元素进行删除操作。这看起来并不是什么困难的问题。我们先写一个循环来迭代容器中的元素,如果迭代元素是要删除的元素,则删除之。代码如下所示:     vectorintContainer;for(vector::iteratoris=intContainer.begin();it!=intContainer.end();

2012-06-07 17:49:17

近似算法求解调度问题

给定n个任务J1,J2,……,Jn和M台机器M1,M2……,Mm。对于每个任务Ji,其处理时间为ti>0,而且必须由一台不间断底处理,每台机器在一个时间段里最多处理一个任务。并行机器调度问题就是如何将任务分配给机器,使得处理完成任务的完成时间(makespan)最短。   对于这个NP问题,没有多项式时间的精确算法,用近似算法,效果好,速度快,真是难以置信啊,我刚5小时前还觉得

2012-06-06 20:54:35

交换整型的奇数位和偶数位

问题定义:    Writeaprogramtoswapoddandevenbitsinanintegerwithasfewinstructionsaspossible(e.g,bit0andbit1areswapped,bit2andbit3areswapped,etc)代码如下,自己想了一个晚上,居然没想出来,太失

2012-06-05 21:17:55

[编程之美]设计一个高效的数据结构,尽可能快的返回队列中的最大值

如题。设计一个高效的数据结构,包含MaxElement操作,快速的返回队列中最大的元素。编程之美关于这题的解析实在是太漂亮了,因为直接求解没有什么好的解法,但是我们可以轻松使用两个栈来实现一个队列,这样就把问题转换为如果方便的从栈中返回最大值问题。    思路如下:    在栈中维护一个最大值序列,保证MaxElement操作的时间复杂度为O(1)。伪代

2012-06-04 16:39:03

二叉树的非递归遍历

二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有前序、中序以及后序三种遍历方法。因为树的定义本身就是递归定义,因此采用递归的方法去实现树的三种遍历不仅容易理解而且代码很简洁。而对于树的遍历若采用非递归的方法,就要采用栈去模拟实现。在三种遍历中,前序和中序遍历的非递归算法都很容易实现,非递归后序遍历实现起来相对来说要难一点。一.前序遍历

2012-06-04 14:23:35

找出有环链表中环的起点

问题:    给定一个有环的链表,写一个算法,找出环的起点。例如:输入:A->B->C->D->E->C[与前面的C是同一个节点]输出:C判断一个链表是否存在环有一个简单的方法,就是使用一个快指针、和一个慢指针,快指针每次走两步,慢指针每次走一步,则如果有环,它们最后必然会相遇的。本题的难点在于要找出环的起点。其实也不难,与判断是否有环类似,用两个步长分别为1和

2012-06-03 17:31:22

[编程之美]字符串的相似度

许多程序会大量使用字符串。对于不同的字符串,我们希望能够有办法判断其相似程序。我们定义一套操作方法来把两个不相同的字符串变得相同,具体的操作方法为:  1.修改一个字符(如把“a”替换为“b”);  2.增加一个字符(如把“abdd”变为“aebdd”);  3.删除一个字符(如把“travelling”变为“traveling”);   比如,对于“abcdef

2012-06-03 15:49:13

[编程之美]二叉树的层次遍历

问题定义给定一棵二叉树,要求按分层遍历该二叉树,即从上到下按层次访问该二叉树(每一层将单独输出一行),每一层要求访问的顺序为从左到右,并将节点依次编号。下面是一个例子:输出:12345678节点的定义:structNode{Node*pLeft;Node*pRight;intdata;};

2012-06-02 22:33:21

[编程之美]求二叉树中节点的最大距离

问题定义如果我们把二叉树看成一个图,父子节点之间的连线看成是双向的,我们姑且定义"距离"为两节点之间边的个数。写一个程序求一棵二叉树中相距最远的两个节点之间的距离。书上的解法书中对这个问题的分析是很清楚的,我尝试用自己的方式简短覆述。计算一个二叉树的最大距离有两个情况:情况A:路径经过左子树的最深节点,通过根节点,再到右子树的最深节点。情况

2012-06-02 21:37:10

树中两个节点的最低公共祖先

问题定义:    Designanalgorithmandwritecodetofindthefirstcommonancestoroftwonodesinabinarytree.Avoidstoringadditionalnodesinadatastructure.NOTE:Thisisnotnecessarilyabin

2012-05-31 22:54:04

求一棵二叉树中任意节点的后继节点(后继节点是指在中序遍历中紧随其后的节点)

问题定义:    RT,基本上标题已经说得很清楚了。Writeanalgorithmtofindthe'next'node(eg.in-ordersuccessor)ofagivennodeinabinarysearchtreewhereeachnodehasalinktoitsparent.思路:    分为三种

2012-05-31 20:16:11

树的子结构——判断B树是不是A树的一颗子树

问题定义:     输入两棵二叉树A和B,判断B是不是A的子结构。思路:    要查找树A中是否存在和树B结构一样的子结构,我们可以分成两步:第一步在树A中找到和B的根节点的值一样的节点R,第二步再判断A中以R为根节点的子树是不是包含和树B一样的结构。(关于建树部分可以参考:http://blog.csdn.net/lalor/article/details/76181

2012-05-30 23:16:55

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取