
经典算法
文章平均质量分 58
HeisenbergI
喜欢记录,觉得记录自己的学习过程也能够让自己更好地复习以及更好地成长,欢迎大家和我一起学习
展开
-
算法初步--递归思想(java实现)
文章目录简单的递归练习斐波拉契数列,求第n项的数。最大公约数通过递归形式进行插入排序经典递归问题--汉诺塔二分查找的递归解法递归形式的算法分析小白登台阶在有空字符串的数组中查找字符串最长连续递增子序列(部分有序)递归是我们学习算法最开始接触的一种思想,并且这种思想对我们学习其他算法也有很大的帮助,像快速排序,归并排序都用到了递归的思想递归设计经验,找重复的部分,找重复中的变化量,设计出口,不然会一直循环以求n的阶乘为例子,来感受下递归是怎样的要求n的阶乘可以转成求n*(n-1)的阶乘,这样一个子问题原创 2021-12-02 11:37:29 · 629 阅读 · 0 评论 -
位运算---算法的基础
位运算,我们在学习中是很少碰到的,但是位运算还是有它自己独特的魅力首先我们需要知道一些基本知识对于int型1<<35和1<<3位是一样的,因为int只有32位,会进行取模操作关于异或我们需要知道的异或能交换两个数的值与0异或的结果不变,与1异或结果相反那么就有 a^0=a , a^a=0;public void changeTwoNumber() { int a=2,b=1; a=a^b; b=a^b; //b=a^b^b =b=a^原创 2021-11-30 19:52:40 · 588 阅读 · 0 评论 -
由小兔子产生的经典算法--费式数列
题目描述Fibonacci为1200年代的欧洲数学家,在他的着作中曾经提到:「若有一只免子每个月生一只小免 子,一个月后小免子也开始生产。起初只有一只免子,一个月后就有两只免子,二个月后有三 只免子,三个月后有五只免子(小免子投入生产)…。 如果不太理解这个例子的话,举个图就知道了,注意新生的小免子需一个月成长期才会投入生 产,类似的道理也可以用于植物的生长,这就是Fibonacci数列,一般习惯称之为费氏数列,例 如以下: 1、1 、2、3、5、8、13、21、34、55、89…这个数列也叫做斐原创 2021-05-28 16:04:22 · 308 阅读 · 0 评论 -
不会还有人看了我的教程不会汉诺塔问题的解法吧!
重述一遍汉诺塔问题,为了你更好地阅读汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘,并求移动次数解法就是递归,理解三个盘子怎么移动就会这个递归是怎么来的了。移动一个是不是可以直接移动。要移动两个的话,就是先将上面一个移动到中转柱,将最后一个移动到目标柱,最后再将中原创 2021-05-26 21:31:33 · 1669 阅读 · 3 评论