- 博客(10)
- 收藏
- 关注
原创 C语言的指针
本文为“C语言中文网>C语言入门>指针”章节的笔记。这一章内容非常丰富,前后衔接紧密,值得反复品读。目录指针含义分析题01指针含义分析题02指针含义分析题01#include <stdio.h>int main(){ char *string0 = "COSC1283/1284"; char *string1 = "Programming"; char *string2 = "Techniques"; char *string3 = "is"
2021-12-06 22:59:35
451
原创 【排序算法】03:堆与堆排序
目录一、堆1.定义2.实现一、堆1.定义堆是一个完全二叉树,且堆中每一个节点的值都满足:大于等于/小于等于其左右节点的值。“大于等于”:大顶堆。“小于等于”:小顶堆。2.实现堆是一个完全二叉树,故通常用数组来存储。...
2021-11-29 22:31:07
554
原创 【数据结构】链表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
557
原创 【数据结构】链表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
185
原创 【排序算法】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
288
原创 【数据结构】栈与队列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
708
原创 【搜索算法】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
464
原创 【数据结构】链表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
574
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人