上一页 1 2 3 4 5 6 7 8 9 ··· 19 下一页
摘要: 【试题描述】数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。【试题分析】时间复杂度O(n),空间复杂度O(1) 思路1: 创建一个hash_map,key为数组中的数,value为此数出现的次数。遍历一遍数组,用hash_map统计每个数出现的次数... 阅读全文
posted @ 2017-12-15 14:35 曾先森在努力 阅读(133) 评论(0) 推荐(0)
摘要: 【试题描述】输入一个整型数组,数组里有正数也有负数。数组中一个或连续的多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度O(n)。思路:当我们加上一个正数时,和会增加;当我们加上一个负数时,和会减少。如果当前得到的和是个负数,那么这个和在接下来的累加中... 阅读全文
posted @ 2017-12-15 14:35 曾先森在努力 阅读(162) 评论(0) 推荐(0)
摘要: 【试题描述】我们把只包含因子2、3和5的数称作丑数。求按从到大的顺序的第1500个丑数。例如6,8是丑数,而14不是,因为它包含因子7.习惯上把1当作第一个丑数。 根据丑数的定义,丑数应该是另一个丑数乘以2、3或者5的结果(1除外)。因此我们可以创建一个数... 阅读全文
posted @ 2017-12-15 14:35 曾先森在努力 阅读(136) 评论(0) 推荐(0)
摘要: 【试题描述】写一个函数,求两个整数的和,要求在函数体内不得使用加减乘除四则运算符合。 基本思路是这样的: int A, B;A&B //看哪几位有进位A^B //不带进位加 考虑二进制加法的过程,步骤一、A^B,能够得到没有进位的加法。步骤二、A&B,能够得... 阅读全文
posted @ 2017-12-15 14:35 曾先森在努力 阅读(162) 评论(0) 推荐(0)
摘要: 进程是什么?程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,而这种执行的程序就称之为进程。程序和进程的区别就在于:程序是指令的集合,它是进程运行的静态描述文本;进程是程序的一次执行活动,属于动态概念。在多道编程中,我们允许多个程序同时加载到内存中... 阅读全文
posted @ 2017-12-15 14:35 曾先森在努力 阅读(224) 评论(0) 推荐(0)
摘要: 称球问题一般会有以下3种变形: 1、N个球,其中有一个坏的,知道是轻还是重,用天平称出坏球来。 2、N个球,其中有一个坏的,不知是轻还是重,用天平称出坏球来。 3、N个球,其中有一个坏的,不知是轻还是重,用天平称出坏球来,并告知坏球是轻还是重。 对于上面3种情况,称量... 阅读全文
posted @ 2017-12-15 14:35 曾先森在努力 阅读(301) 评论(0) 推荐(0)
摘要: 一、入门级程序员的面试题:这些软件设计和设计模式的先关问题大多会出现在初学者面试情景中,什么是设计模式?特定的设计模式又是什么?等等这些概念,也许你很轻易回答这些概念,但文内提供的这些问题也许能给你带来更多价值。1. 什么是设计模式?在你编码过程中使用了哪些设计模式?... 阅读全文
posted @ 2017-12-15 14:35 曾先森在努力 阅读(304) 评论(0) 推荐(0)
摘要: 一、我们为什么要学习vim编辑器?Linux的命令行界面下面有非常多的文本编辑器。比如经常听说的就有Emacs、pico、nano、joe与vim等。vim可以看做是vi的高级版。我们为什么一定要学习vim呢?有以下几个原因:(1)所有的Unix like系统都会内置... 阅读全文
posted @ 2017-12-15 14:35 曾先森在努力 阅读(239) 评论(0) 推荐(0)
摘要: 大家都知道Python语言是一种新兴的编程语言。1989年,Python就由Guido van Rossum发明。Python一直发展态势很好。 原因有几点:1、跨平台性好。Linux、Windows、MacOS、塞班……。2、快速易学。3、模块齐全。 ... 阅读全文
posted @ 2017-12-15 14:35 曾先森在努力 阅读(329) 评论(0) 推荐(0)
摘要: (可参考 http://c.chinaitlab.com/special/algorithm/Index.html)五大常用算法之一:分治算法分治算法一、基本概念 在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个... 阅读全文
posted @ 2017-12-15 14:35 曾先森在努力 阅读(286) 评论(0) 推荐(0)
摘要: 1. 引言 哈希表(Hash Table)的应用近两年才在NOI中出现,作为一种高效的数据结构,它正在竞赛中发挥着越来越重要的作用。 哈希表最大的优点,就是把数据的存储和查找消耗的时间大大降低,几乎可以看成是常数时间;而代价仅仅是消耗比较多的内存。然而在... 阅读全文
posted @ 2017-12-15 14:35 曾先森在努力 阅读(320) 评论(0) 推荐(0)
摘要: 1. 哈希表的概念 对于动态查找表而言,1) 表长不确定;2)在设计查找表时,只知道关键字所属范围,而不知道确切的关键字。因此,一般情况需建立一个函数关系,以f(key)作为关键字为key的录在表中的位置,通常称这个函数f(key)为哈希函数。(注意:这个函数并不... 阅读全文
posted @ 2017-12-15 14:34 曾先森在努力 阅读(514) 评论(0) 推荐(0)
摘要: 三种查找算法:顺序查找,二分法查找(折半查找),分块查找,散列表(以后谈) 一、顺序查找的基本思想:从表的一端开始,顺序扫描表,依次将扫描到的结点关键字和给定值(假定为a)相比较,若当前结点关键字与a相等,则查找成功;若扫描结束后,仍未找到关键字等于a的结点,则... 阅读全文
posted @ 2017-12-15 14:34 曾先森在努力 阅读(228) 评论(0) 推荐(0)
摘要: 算法描述 算法描述是指对设计出的算法,用一种方式进行详细的描述,以便与人交流。描述可以使用自然语言、伪代码,也可使用程序流程图,但描述的结果必须满足算法的五个特征。使用自然语言描述算法显然很有吸引力,但是自然语言固有的不严密性使得要简单清晰的描述算法变得... 阅读全文
posted @ 2017-12-15 14:34 曾先森在努力 阅读(808) 评论(0) 推荐(0)
摘要: B 树、B+ 树、B* 树 作者:July、weedge、Frankie。编程艺术室出品。说明:本文从B树开始谈起,然后论述B+树、B*树,最后谈到R 树。其中B树、B+树及B*树部分由weedge完成,R 树部分由Frankie完成,全文最终由July统稿修订完成。... 阅读全文
posted @ 2017-12-15 14:34 曾先森在努力 阅读(306) 评论(0) 推荐(0)
摘要: 一、引言主串(被扫描的串):S=‘s0s1...sn-1’,i 为主串下标指针,指示每回合匹配过程中主串的当前被比较字符;模式串(需要在主串中寻找的串):P=‘p0p1...pm-1’,j 为模式串下标指针,指示每回合匹配过程中模式串的当前被比较字符。字符串匹配:在主... 阅读全文
posted @ 2017-12-15 14:34 曾先森在努力 阅读(149) 评论(0) 推荐(0)
摘要: (作者matrix67) KMP算法是拿来处理字符串匹配的。换句话说,给你两个字符串,你需要回答,B串是否是A串的子串(A串是否包含B串)。比如,字符串A="I'm matrix67",字符串B="matrix",我们就说B是A的子串。你可以委... 阅读全文
posted @ 2017-12-15 14:34 曾先森在努力 阅读(182) 评论(0) 推荐(0)
摘要: KMP 算法我们有写好的函数帮我们计算 Next 数组的值和 Nextval 数组的值,但是如果是考试,那就只能自己来手算这两个数组了,这里分享一下我的计算方法吧。计算前缀 Next[i] 的值:我们令 next[0] = -1 。从 next[1] 开始,每求一个... 阅读全文
posted @ 2017-12-15 14:34 曾先森在努力 阅读(1686) 评论(0) 推荐(0)
摘要: 一些定义:1.一个连通且无回路的无向图称为树.2.若图G的生成子图是一棵树,则该树称为G的生成树.3.在图G的所有生成树中,树权最小的那棵生成树,称作最小生成树.关于找出最小生成树的两种算法,一个称为Kruskal(克鲁斯卡尔),另一个叫Prim(普里姆)(1) Kr... 阅读全文
posted @ 2017-12-15 14:34 曾先森在努力 阅读(236) 评论(0) 推荐(0)
摘要: 对于一条有向边(u,v),定义u nextarc) { k=p—>adivex; //对i号顶点的每个邻接点的入度减1 if(!(--indegree[k]))Push(S,k);//若入度减为... 阅读全文
posted @ 2017-12-15 14:34 曾先森在努力 阅读(723) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 9 ··· 19 下一页