![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
文章平均质量分 84
Segmentfaulttt
(๑•̌.•̑๑)ˀ̣ˀ̣
展开
-
【排序算法】03:堆与堆排序
目录一、堆1.定义2.实现一、堆1.定义堆是一个完全二叉树,且堆中每一个节点的值都满足:大于等于/小于等于其左右节点的值。“大于等于”:大顶堆。“小于等于”:小顶堆。2.实现堆是一个完全二叉树,故通常用数组来存储。...原创 2021-11-29 22:31:07 · 471 阅读 · 0 评论 -
【数据结构】链表04:LeetCode 21. 合并两个有序链表、LeetCode 23. 合并K个升序链表
目录一、LeetCode 21. 合并两个有序链表方法一:迭代代码与性能拓展:如果要求去重方法二:递归代码与性能去重版代码二、LeetCode 23. 合并K个升序链表方法一:归并1.递归版2.迭代版方法二:优先级队列1.自己实现优先级队列2.用JDK的PriorityQueue3.性能一、LeetCode 21. 合并两个有序链表方法一:迭代代码与性能class Solution { public ListNode mergeTwoLists(ListNode l1, ListNode l原创 2021-11-28 16:03:37 · 508 阅读 · 0 评论 -
【数据结构】链表03:LeetCode 25. K 个一组翻转链表、LeetCode 24. 两两交换链表中的节点
class Solution { public ListNode reverseKGroup(ListNode head, int k) { if(head==null) return null; ListNode a = head; ListNode b = head; for(int i=0; i<k; i++){ if(b==null) return head; b = b.n原创 2021-11-26 14:43:32 · 142 阅读 · 0 评论 -
【排序算法】02:归并排序、快速排序
归并排序:从下到上;快速排序:从上到下原创 2021-11-22 15:59:01 · 942 阅读 · 16 评论 -
【排序算法】01:冒泡排序、插入排序、选择排序
本文为王争《数据结构与算法之美》笔记。代码实现都有很多细节,仔细体会。目录一、O(n^2)原地排序算法冒泡排序(Bubble Sort)代码内存消耗稳定性时间复杂度插入排序(Insertion Sort)代码内存消耗稳定性时间复杂度为什么插入排序比冒泡排序好?选择排序(Selection Sort)代码内存消耗稳定性时间复杂度二、O(n*logn)排序算法归并排序一、O(n^2)原地排序算法冒泡排序(Bubble Sort)代码public int[] bubbleSort(int[] nums原创 2021-11-16 23:33:39 · 253 阅读 · 0 评论 -
【搜索算法】DFS01:LeetCode岛屿问题
class Solution { public int numIslands(char[][] grid) { int r, c; int num = 0; int m = grid.length; int n = grid[0].length; for(r=0;r<m;r++){ for(c=0;c<n;c++){ if(grid[r][c]=='1'原创 2021-10-15 20:30:34 · 406 阅读 · 0 评论 -
【数据结构】链表02:LeetCode 92.反转链表Ⅱ
目录1.题目2.分析与题解思路一:迭代思路二:递归1.题目原题链接:LeetCode 92. 反转链表Ⅱ给你单链表的头指针 head 和两个整数 left 和 right ,其中 left <= right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表 。示例 1:输入:head = [1,2,3,4,5], left = 2, right = 4输出:[1,4,3,2,5]示例 2:输入:head = [5], left = 1, right =原创 2021-10-10 17:44:59 · 461 阅读 · 0 评论 -
【数据结构】链表01:LeetCode 206.反转链表
文章目录#一级目录#二级目录##二级目录原创 2021-10-09 11:22:49 · 105 阅读 · 0 评论 -
【数据结构】栈与队列01:表达式的求值与转换
目录1. 前缀表达式求值2. LeetCode 150.逆波兰表达式求值3. 中缀表达式转后缀表达式1. 前缀表达式求值题目:算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。前缀表达式指二元运算符位于两个运算数之前,例如2+3*(7-4)+8/4的前缀表达式是:+ + 2 * 3 - 7 4 / 8 4。请设计程序计算前缀表达式的结果值。输入格式:输入在一行内给出不超过30个字符的前缀表达式,只包含+、-、*、/以及运算数,不同对象(运算数、运算符号)之间以空格分隔。输出格式:输出前缀表原创 2021-11-13 10:56:37 · 630 阅读 · 0 评论