数据结构和算法
记录数据结构和算法的学习过程
善守的大龙猫
昔之善战者,先为不可胜,以待敌之可胜。不可胜在己,可胜在敌。故善战者,能为不可胜,不能使敌之必可胜。故曰:胜可知,而不可为!
成为专家!成为专家!
展开
-
程序员刷 leetcode 经常陷入刷了忘忘了刷的尴尬局面怎么办?
一、刷了忘的原因是:没有真正理解解题思路解题不应该要求做过的问题都能记住答案。忘了说明以前做的时候就没有真正理解,试图回忆解题步骤是不正确的,应该尝试回忆解题思路。但更有效的做法是 在刷题的时候就深刻理解解题思路。检验一道问题是不是真正掌握,正是须要在我们完全忘记了解题思路以后,如何一点一点通过题目的条件分析出解题的思路、用到的算法和数据结构。二、多想想为什么,而不要记住是什么刷题就是一遍一遍做题,巩固知识点的过程。平常做题的时候没有思路,看题解是非常正常的。但是我们在看题解的时候,不要只看解法,记原创 2021-03-07 23:33:02 · 1932 阅读 · 4 评论 -
算法是一个程序员的内功
算法是一个程序员的内功,是想进入大厂的必要之路。因为想过两年要进入大厂,所以现在必须要加强算法的训练。原创 2021-03-06 01:04:51 · 116 阅读 · 0 评论 -
栈的使用场景
当数据的处理顺序要与接收顺序相反时(LIFO)last in first out,就可以用栈。像文字处理器的“撤销”动作,或网络应用程序的函数调用,你应该都会需要栈来实现。在处理括号的校验时,也可以用到栈这种数据结构...原创 2020-12-14 19:52:42 · 864 阅读 · 0 评论 -
单链表面试题
1.求单链表的有效节点的个数2.查找单链表的倒数第K个节点【新浪面试题】3.单链表的反转【腾讯面试题】4.从尾到头打印单链表【百度:要求方式1.反向遍历 2.Stack栈】5.合并两个有序的单链表,合并之后的链表依然有序...原创 2020-06-20 23:50:45 · 172 阅读 · 0 评论 -
斐波那契数
斐波那契数,通常用 F(n) 表示,形成的序列称为斐波那契数列。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.给定 N,计算 F(N)。不建议使用递归,因为递归在N很大时,效率非常慢,下面这种执行效率非常高 /** * 斐波那契数 * 不建议使用递归,因为在递归时,计算的效率会非常慢。 * @param n .原创 2020-06-20 08:46:54 · 257 阅读 · 0 评论 -
时间复杂度及空间复杂度
时间复杂度与空间复杂度用大O来标示。简单来解释就是算法运行的时间与空间随着规模的扩大,时间与空间扩大的趋势。原创 2020-06-12 23:44:42 · 83 阅读 · 0 评论 -
利用数据创建普通队列及环形队列
文章目录1.利用数组创建一个队列。2.测试代码如下:3.利用数组创建环形队列4.环形队列的测试代码1.利用数组创建一个队列。package com.queue;import java.util.Scanner;public class ArrayQueueDemo { public static void main(String[] args) { //测试一把 //创建一个队列 ArrayQueue queue = new ArrayQueue(3); char key =原创 2020-06-14 21:51:21 · 124 阅读 · 0 评论 -
String的反转函数reverse
/** * Causes this character sequence to be replaced by the reverse of * the sequence. If there are any surrogate pairs included in the * sequence, these are treated as single charac...原创 2019-12-11 17:07:52 · 1649 阅读 · 0 评论 -
二叉树的最大深度
获取二叉树的最大深度的最简单的方式就是进行递归首先判断是否为空,对root.right及root.left进行递归,取最大值加1即是二叉树的最大深度class Solution { public int maxDepth(TreeNode root) { if(null == root) return 0; return 1 + Math.max(max...原创 2019-12-19 16:04:09 · 76 阅读 · 0 评论 -
验证回文串解答分析
给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: “A man, a plan, a canal: Panama”输出: true示例 2:输入: “race a car”输出: false解题思路看到这一题,首先想到去除标点符号,然后去除空格,转换为统一的大小写。最后遍历...原创 2019-12-13 10:20:55 · 87 阅读 · 0 评论 -
验证二叉搜索树
给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。看到这一题,首先想到的就是递归。...原创 2019-12-19 17:06:37 · 104 阅读 · 0 评论