算法
蒙娜丽宁
华为HDE(HUAWEI Developer Experts),UnityMarvel创始人,开放原子基金会银牌讲师,51CTO学堂金牌讲师,IT畅销书作者。从事软件研究和开发超过20年,长期从事编译器、人工智能、Python、Go、JavaScript、Java及跨平台技术的研究和开发工作,曾出版超过40本IT图书。主要著作包括《Python从菜鸟到高手》、《Python爬虫从菜鸟到高手》、《奇妙的Python:神奇代码漫游之旅》。
展开
-
【动画版】数据结构-B树【宁哥算法课堂】
【动画版】数据结构-B树【宁哥算法课堂】人物对白:李宁老师:小丽,很久没见了,最近在忙什么?小丽:最近学院的老师布置了一个大作业,让实现一个类似Oracle的关系数据库原型。李宁老师:Oracle可很复杂哦!小丽:当然不需要做整个Oracle数据库,只是做一个原型,可以对数据增删改,并且利用SQL查询出数据。小丽:关键是需要为字段添加索引。小丽:我现在正在犯愁,该如何为索引选择数据结构呢!李宁老师:如果只是实现,有很多数据结构都可以实现索引的功能。小丽:不行,麻省.原创 2020-05-18 10:16:59 · 1111 阅读 · 0 评论 -
算法君带你学算法:最长回文字符串
算法君带你学算法:最长回文字符串算法君:小白同学,给你出道算法题,看你小子算法能力有没有长进。算法小白:最近一直在研究算法,刷了很多算法题,正好活动活动大脑,来来来,赶快出题!算法君:听好了,题目是:求一个字符串中最长的回文字符串。算法小白:这个算法好像很简单,就是有一个概念不太明白,啥叫“回文字符串”。算法君:哈哈,你说的很简单,一定是题目的字数很少的意思。算法小白:哦,又被老大猜中...原创 2019-12-27 08:54:41 · 930 阅读 · 0 评论 -
09考研数据结构试题的一种解法(Java版)
本文为原创,如需转载,请注明作者和出处,谢谢! 虽然研究生已毕业,但看到有一些难度的研究生考试题还是忍不住要做做,本文给出了09年研究生入学考试的一道数据结构题的Java实现。该题的描述如下图所示。 该题的两种实现一位朋友已经完成了,详见递归和非递归实现 。在本文将给出另外一种算法,该算法的空间复杂度为O(1),时间复杂度为O(n)。这在空间复杂度和时间复杂原创 2009-01-17 21:06:00 · 1878 阅读 · 1 评论 -
创新工厂面试题详解:共打了多少鱼
最近看到一个创新工厂的面试题,很有意思,下面给出算法实现(Java代码)。如果哪位有更好的算法,请跟贴。 abcde五人打渔,打完睡觉,a先醒来,扔掉1条鱼,把剩下的分成5分,拿一份走了;b再醒来,也扔掉1条,把剩下的分成5份,拿一份走了;然后cde都按上面的原创 2011-09-22 13:27:47 · 29870 阅读 · 125 评论 -
百度面试题:求绝对值最小的数
有一个已经排序的数组(升序),数组中可能有正数、负数或0,求数组中元素的绝对值最小的数,要求,不能用顺序比较的方法(复杂度需要小于O(n)),可以使用任何语言实现例如,数组{-20,-13,-4, 6, 77,200} ,绝对值最小的是-4。算法实现的基本思路找到负数和正数的分界点,如果正好是0就是它了,如果是正数,再和左面相邻的负数绝对值比较,如果是负数,取取绝对值与右面正数比较。还要考虑数组只原创 2013-01-29 14:54:06 · 3245 阅读 · 9 评论 -
疯狂极客前传:用最快的速度设计一种新的编程语言
最近打算写一些列有趣、而且有一定难度的文章。这个系列的名字就叫《疯狂极客》,这一系列的文章大多数与计算机有密切的关系。包括制作编译器、制作OS、Android控制电路板、机器人的制作(通过Android、IOS等设备控制)等等。 源代码下载 在正式开始《疯狂极客》系列文章之前,先来热热身。用最短的时间设计一种简单,但好玩的编程语言CShell(不过不用担心,实现CShell解析器基原创 2013-03-13 07:52:30 · 2942 阅读 · 2 评论 -
世界上最早的算法:辗转相除法(求两个自然数最大公约数)
在数学界,辗转相除法,又称欧几里得算法,被认为是世界上最早的算法(公元前300年),该算法用于求两个最大公约数的算法。辗转相除法首次出现于欧几里得的《几何原本》(第VII卷,命题yⅠ和Ⅱ)中,而在中国则可以追溯至东汉出现的《九章算术》。 两个自然数的最大公约数是能够同时整除它们的最大的正整数。辗转相除法基于如下原理:两个整数的最大公约数等于其中较小的数和两数的相除余数的最大公约数。例如,12原创 2013-06-07 17:53:27 · 4720 阅读 · 1 评论 -
Twitter算法面试题详解(Java实现)
近在网上看到一道Twitter的算法面试题,网上已经有人给出了答案,不过可能有些人没太看明白(我也未验证是否正确),现在给出一个比较好理解的答案。原创 2013-11-01 19:37:23 · 8253 阅读 · 6 评论