算法与数据结构
踏地仰望
这个作者很懒,什么都没留下…
展开
-
剑指offer题解
算法是程序员能力的重要体现,学习和工作中要注意锻炼算法能力。计划分专题完成该本书的题目一、数组类型1、数组中的重复数字题目:在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复...原创 2020-02-25 09:50:03 · 187 阅读 · 0 评论 -
必须掌握的基本算法
这些代码都有手写的可能性二分查找/** * @program: 必背算法 * @description: 二分查找的实现 * @author: huang xin * @create: 2018-11-26 20:57 *//** * 应用场景:在有序数组中查找某几个数字在数组中的位置 * * 思路:利用数组的有序性,不需要逐个查找。只需要每次与数组中间元素比较 ...原创 2018-11-26 22:14:20 · 203 阅读 · 0 评论 -
链表的基本操作
一、链表的定义链表由一个个节点连接而成的,即一个个对象,该对象包含两个属性:节点值、下一个节点的引用。同时也可以看到value属性是用来保存实际信息的,而next属性是用来建立节点间的联系。对于双向链表,需要两个这样的属性来指向前面节点和后面节点。public class ListNode { int value; //节点值 ListNode next = null; //节...原创 2019-07-08 16:37:48 · 118 阅读 · 0 评论 -
递归中时间复杂度分析
发现我们对递归的时间复杂度比较陌生,不知道如何分析。先看看常见的几个例子:1、从1加到100public static int function(int n) { //递归结束条件 .即 fun(0) = 0 if (n == 0) return 0; return function(n-1) + n;}传入n = 100可以实现从1加到10...原创 2019-07-09 19:58:33 · 1503 阅读 · 1 评论 -
最最最基本的算法
package 排序算法;/** * 三个简答排序:冒泡、选择、插入 * * */public class Main { /** * 冒泡排序:比较相邻两个元素,大数往后移,一趟下来确定末尾数字。 * * */ public static void maopao(int[] arr){ //数组下标[0.len] ...原创 2019-09-15 13:40:30 · 128 阅读 · 0 评论 -
斐波那契数列入门动态规划
一、斐波那契数列经典解法:public int fibonacci(int n) { if (n == 0){ return 0; } if (n == 1){ return 1; } return fibonacci(n - 1) + fibonacci(n - 2);}这样写结果是对的,但是里面包含了大量重复子问...原创 2019-09-15 14:23:50 · 278 阅读 · 0 评论 -
高级排序
重点是体会思想,分治与递归package 高级排序;import static 排序算法.Main.swap;/** * 先研究一下快速排序,归并排序、计数排序(桶排序) * * */public class Main { /** * 归并排序:先拆后合,用上了递归的思想,再加两个数组合成一个有序数组 * */ public static ...原创 2019-09-15 16:00:43 · 127 阅读 · 0 评论 -
初感算法思想
在数据结构中寻找算法思路,在基本算法中体会算法思想。我为什么先提到数据结构,因为数据结构是设计算法的基石,算法设计是建立在数据结构之上的。我们常说程序=数据结构+算法,不错程序的核心是处理数据。但我们往往忽视了数据结构的重要性,数据结构是很重要的,每种数据结构有最适合它的处理算法。对于要解决的实际问题,应该先选好数据结构,再实现算法。同时对数据结构的理解也不能过于狭隘,数据结构指的是数据...原创 2019-09-15 16:04:11 · 117 阅读 · 0 评论 -
常见的字符串问题
package 字符串;public class Main { /** * 1、判断一个字符串是回文字符 * * 思路一:整个串逆序,看与原串是否相同 * 思路二:从两端往中间依次比较,遇到不相同就返回false */ public static boolean huiwen1(String str1) { /...原创 2019-09-15 21:06:02 · 315 阅读 · 0 评论