数据结构与算法
文章平均质量分 92
数据结构与算法
海绵宝宝养的的小窝
「世上本没有注释,bug写多后就有了~」
[知道和做到 这个巨大鸿沟的跨越]
展开
-
贪心算法(贰)
贪心算法原创 2022-03-09 22:33:21 · 215 阅读 · 2 评论 -
贪心算法(壹)
目录简介案例分析选择排序平衡字符串买卖股票最佳时机最大跳跃长度简介下面的简介可看可不看①贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。②贪心选择是指所求问题的整体最优解可以通过一系列局部最优的选择,即贪心选择来达到。这是贪心算法可行的第一个基本要素。③当一个问题的最优解包含其子问题的最优解时,称此问题具有最优子结构性质。运用贪心.原创 2022-02-24 22:02:32 · 653 阅读 · 2 评论 -
动态规划(Dynamic Programming)(叁)
案例分析回文串分割简单分析:题目给定意思一个字符也算一个回文串,要求整个字符串的最小分割次数,可以划分成求前 i 个字符的最小分割次数。一:状态定义创建一个数组dp,每个dp[i]的意义就是前 i 个字符能被分割的最小次数二:状态间的转移方程前 i 个字符能分成两种情况:①:整体是回文串那么dp [ i ] = 0;②:整体不是回文串整体不是回文串就需要判断前 i - 1 个字符是不是回文串,然后比较初始值和 dp [ i -1 ] +1的大小,继续循环下去原创 2022-02-23 21:12:01 · 239 阅读 · 0 评论 -
动态规划(Dynamic Programming)(贰)
目录案例分析路径总数最小路径和背包问题前文链接:动态规划(Dynamic Programming)(壹)案例分析路径总数我们首先分析:这个问题是问从strat这一点到finish这点有多少种方式,那么它的子问题就是从start到任意一点有多少种方式,即dp[ i ] [ j ] ( i 为行 j 为列)。 那么我们假设到(i,j)有n中方式:我们可以发现任意一点到(i , j)只能从(i - 1, j)或者(i , j - 1)这两个点到达..原创 2022-02-20 22:02:04 · 387 阅读 · 0 评论 -
动态规划(Dynamic Programming)(壹)
简介动态规划是分治思想的延伸,通常来说就是大事化小,小事化了的艺术。在将大问题化解为小问题的分治过程中,保存对这些小问题已经处理好的结果,并供后面处理更大规模的问题时直接使用这些结果。...原创 2022-02-18 21:45:03 · 351 阅读 · 0 评论 -
Java-队列
队列队列只允许一端插入元素,从另一端进行删除元素的特殊线性表。队列具有先进先出的特点。入队:进入插入操作,这一端称为队尾。出队:进行删除操作,这一端称为对头原创 2022-02-10 20:24:48 · 1161 阅读 · 8 评论 -
Java-栈
栈栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出栈:栈的删除操作叫做出栈。出数据在栈顶。了解了栈后,有时可能会遇到这样一个面试问题:栈的相关问题:我们已经知道了栈是后进先出的,但我们不要忽视一点,入栈后是可以出栈的,不必要入完后才出,也就数说可以一边入栈一边出栈,.原创 2022-02-09 17:04:42 · 552 阅读 · 0 评论 -
七大排序算法(Java)
排序的概念排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排序算法是稳定的;否则称为不稳定的。内部排序:数据元素全部放在内存中的排序。外部排序:数据元素太多不能同时放在内存中,根据排序过程的要求不能在内外存之间移动数据的排序。原创 2021-12-08 20:25:10 · 847 阅读 · 34 评论 -
Java-List
前言预备知识:泛型在提及List时,首先得了解泛型,上面是我对泛型的详细介绍,可以先去看看。预备知识-包装类(Wrapper Class)因为泛型擦除机制的原因,所有的泛型最后都被擦成了Object类型,而我们知道,object引用可以指向任意类型的对象,但我们我熟知的八种基本数据类型并不是对象,那难道说要 "失去"八种基本数据类型的泛型了吗?实际上也确实如此,为了解决这个问题,Java引入了一种特殊的类,即这八种数据类型的包装类,在使用 过程中,会将类似 int 这样的值包装到一个..原创 2022-02-07 22:41:21 · 427 阅读 · 1 评论 -
Java集合框架
1.什么是集合框架Java 集合框架 Java Collection Framework ,又被称为容器 container ,是定义在 java.util 包下的一组接口 interfaces 和其实现类 classes 。其主要表现为将多个元素 element 置于一个单元中,用于对这些元素进行快速、便捷的存储 store 、检索 retrieve 、管理 manipulate ,即平时我们俗称的增删查改 CRUD 。...原创 2022-02-06 20:24:18 · 853 阅读 · 2 评论