51
Dev开发社区
首页
文章
问答
工具
搜索
登录
注册
#毛主席的六大读书笔记
算法笔记_023:拓扑排序(Java)
/目录1问题描述2解决方案2.1基于减治法实现2.2基于深度优先查找实现给定一个有向图,求取此图的拓扑排序序列。那么,何为拓扑排序?定义:将有向图中的顶点以线性方式进行排序。即对于任何连接自顶点u到顶点v的有向边uv,在最后的排序结果中,顶点u总是在顶点v的前面。 实现原理:不断地做这样一件事,在...
代码星球
·
2021-02-09
算法
笔记
拓扑
排序
Java
算法笔记_024:字符串的包含(Java)
/目录1问题描述2解决方案2.1蛮力轮询法2.2素数相乘法2.3位运算法给定一长字符串A和一短字符串B。请问,如何最快地判断出短字符串B中的所有字符是否都在长字符串A中?请编写一个判断函数实现此功能。为简单起见,假设输入的字符串只包含小写英文字母。下面举几个例子。(1)如果字符串A是”abcd”...
代码星球
·
2021-02-09
算法
笔记
字符串
包含
Java
算法笔记_025:字符串的全排列(Java)
/目录1问题描述2解决方案2.1递归实现2.2字典序排列实现输入一个字符串,打印出该字符串的所有排列。例如,输入字符串”abc”,则输出有字符’a’,’b’,’c’所能排列出来的所有字符串”abc”,...
代码星球
·
2021-02-09
算法
笔记
字符串
排列
Java
算法笔记_026:折半查找(Java)
/目录1问题描述2解决方案2.1递归法2.2迭代法 首先,了解一下何为折半查找?此处,借用《算法设计与分析基础》第三版上一段文字介绍: 具体代码如下:packagecom.liuzhen.chapter4;publicclassBinary...
代码星球
·
2021-02-09
算法
笔记
折半
查找
Java
算法笔记_027:俄式乘法(Java)
首先,了解一下何为俄式乘法?此处,借用《算法设计与分析基础》第三版上一段文字介绍: 具体编码如下:packagecom.liuzhen.chapter4;publicclassRussianPeasant{//方法1:递归求解publicvoidrecursionRussian(int...
代码星球
·
2021-02-09
算法
笔记
俄式
乘法
Java
算法笔记_028:字符串转换成整数(Java)
输入一个由数字组成的字符串,请把它转换成整数并输出。例如,输入字符串“123”,输出整数123。请写出一个函数实现该功能,不能使用库函数。 解答本问题的基本思路:从左至右扫描字符串中的每个字符,把之前扫描得到的数字乘以10,再加上当前字符表示的数字。但是,基本思路是这样,还...
代码星球
·
2021-02-09
算法
笔记
字符串
换成
整数
算法笔记_029:约瑟夫斯问题(Java)
/目录1问题描述2解决方案引用自《算法设计与分析基础》第三版:约瑟夫斯问题,是以弗拉瓦斯。约瑟夫斯(FlaviusJosephus)的名字命名的。约瑟夫斯是一个著名的犹太历史学家,参加并记录了公元66—70年犹太人反抗罗马的起义。约瑟夫斯作为一个将军,设法守住了裘达伯特的堡垒达47天之久,但在城市陷落了以后...
代码星球
·
2021-02-09
算法
笔记
约瑟
夫斯
问题
算法笔记_030:回文判断(Java)
/目录1问题描述2解决方案给定一个字符串,如何判断这个字符串是否是回文串?所谓回文串,是指正读和反读都一样的字符串,如madam、我爱我等。 解决上述问题,有两种方法可供参考:(1)从字符串两头往中间扫;(2)从字符串中间往两头扫。具体代码如下:packagecom.liuzhen.string_...
代码星球
·
2021-02-09
算法
笔记
回文
判断
Java
算法笔记_031:计算中值和选择问题(Java)
/目录1问题描述 2解决方案2.1计算中值问题2.2选择问题中值问题是求一个n个数列表中某一数组下标k,它要求该下标元素比列表中的一半元素大,又比另一半元素小,这个中间的值被称为中值。 选择问题是求一个n个数列表的第k个最小元素的问题。 本文使用Lomuto划分算法思想,此处引...
代码星球
·
2021-02-09
算法
笔记
计算
中值
选择
算法笔记_032:最长回文串(Java)
/目录1问题描述2解决方案2.1中心扩展法2.2Manacher算法给定一个字符串,求它的最长回文子串的长度。 此处,首先枚举出回文串的中心位置,然后,再在该位置上分别向左和向右扩展,记录并更新得到的最长回文串的长度。具体代码如下:packagecom.liuzhen.string_1;impor...
代码星球
·
2021-02-09
算法
笔记
最长
回文
Java
算法笔记_033:十六进制转八进制(Java)
/目录1问题描述2解决方案2.1注意问题2.2具体实现代码 具体问题描述 给定n个十六进制正整数,输出它们对应的八进制数。输入格式 输入的第一行为一个正整数n(1<=n<=10)。 接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过...
代码星球
·
2021-02-09
算法
笔记
十六进制
八进制
Java
算法笔记_034:大整数乘法(Java)
/目录1问题描述2解决方案2.1蛮力法计算两个大整数相乘的结果。 packagecom.liuzhen.chapter5;importjava.math.BigInteger;publicclassBigNumber{/**参数A:进行乘法运算的大整数A,用字符串形式表示*参数B:进行乘法运算的另...
代码星球
·
2021-02-09
算法
笔记
整数
乘法
Java
算法笔记_035:寻找最小的k个数(Java)
/目录1问题描述2解决方案2.1全部排序法2.2部分排序法2.3用堆代替数组法2.4线性选择算法有n个整数,请找出其中最小的k个数,要求时间复杂度尽可能低。先对这n个整数进行快速排序,在依次输出前k个数。具体代码如下:packagecom.liuzhen.array_2;publicclassSearchMinK{//...
代码星球
·
2021-02-09
算法
笔记
寻找
小的
个数
算法笔记_036:预排序(Java)
/目录1问题描述2解决方案2.1检验数组中元素的唯一性2.2模式计算在计算机科学中,预排序是一种很古老的思想。实际上,对于排序算法的兴趣很大程度上是因为这样一个事实:如果列表是有序的,许多关于列表的问题更容易求解。显然,对于包含了排序操作,这种算法的时间效率依赖于所选用的排序算法的效率。对于预排序的具体思想应用请参考下...
代码星球
·
2021-02-09
算法
笔记
排序
Java
算法笔记_037:寻找和为定值的两个数(Java)
/目录1问题描述2解决方案2.1排序夹逼法输入一个整数数组和一个整数,在数组中查找两个数,满足他们的和正好是输入的那个整数。如果有多对数的和等于输入的整数,输出任意一对即可。例如,如果输入数组[1,2,4,5,7,11,15]和整数15,那么由于4+11=15,因此输出4和11。首先将整数数组,使用合并排序进行从小打到...
代码星球
·
2021-02-09
算法
笔记
寻找
定值
个数
首页
上一页
...
30
31
32
33
34
...
下一页
尾页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他