数据结构与算法
文章平均质量分 92
数据结构与算法
ふふ_
这个作者很懒,什么都没留下…
展开
-
DS | 并查集 Disjoint Set Union
查找(Find):查找某个元素所属集合的根节点,用于判断两个元素是否在同一个集合内。若 'parent[ i ] == i ',那么 'i' 为这个集合的根节点。1、为了加速查找操作,通过将路径上所有的节点直接连接到根节点,降低树的高度。rank:记录了每个集合根节点的“秩”(rank),即树的近似高度。rank不同:rank小节点连接到rank大的节点,rank无需更新。父节点:节点 'i' 的父节点为 'parent[ i ]'2、Find(查找):查找一个元素所属集合的根节点,递归实现。原创 2024-08-26 23:58:13 · 387 阅读 · 0 评论 -
DS | 二叉树_练习
错误:数据类型要统一,栈存储结点,列表存储结点数据,函数返回值记得检查94.二叉树的中序遍历145.二叉树的后序遍历102.二叉树的层序遍历107.二叉树的层次遍历II199.二叉树的右视图637.二叉树的层平均值429.N叉树的层序遍历515.在每个树行中找最大值116.填充每个节点的下一个右侧节点指针117.填充每个节点的下一个右侧节点指针II104.二叉树的最大深度111.二叉树的最小深度226.翻转二叉树 (优先掌握递归)101. 对称二叉树 (优先掌握递归)104.二叉树的最大深度。原创 2024-02-26 23:18:10 · 784 阅读 · 0 评论 -
DS | 字符串 String (240217)
C# 中的字符串是不可变的(immutable),所以不能直接通过索引来修改字符串中的字符。要解决这个问题,需要将字符串转换为字符数组进行修改,然后再将其转换回字符串。给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转这 2k 字符中的前 k 个字符。如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。输入:s = ["h","e","l","l","o"]输出:["o","l","l","e","h"]28. 实现 strStr。原创 2024-02-17 11:44:31 · 315 阅读 · 1 评论 -
DS | 栈与队列 Stack & Queue(240221更新)
基于数组,下标0的一端设为栈底(首元素都存在栈底,变化最小),设top变量指示栈顶元素在数组中的位置(top < stacksize)IsFull:检查队列是否已满(如果底层存储是固定大小的)。IsFull:检查栈是否已满(如果底层存储是固定大小的)。队列是一种具有特定限制的线性数据结构,遵循。栈是一种具有特定限制的线性数据结构,遵循。新元素总是被插入到栈顶,而只能从栈顶移除元素。新元素总是被插入到队尾,而只能从队首移除元素。:查看栈顶的元素,但不将其移除。:查看队首的元素,但不将其移除。原创 2024-02-19 15:26:15 · 334 阅读 · 1 评论 -
DS | 数组(0213更新)
二分查找(Binary Search)条件:顺序存储的有序线性表思路:两种写法:左闭右闭和左闭右开,解题代码为左闭右闭Key:包含target的区间,[left,right]则left = right 有意义;[left,right)则left = right 无意义27. 移除元素977. 有序数组的平方209. 长度最小的子数组59. 螺旋矩阵II35. 搜索插入位置34. 在排序数组中查找元素的第一个和最后一个位置。原创 2024-02-05 10:40:15 · 55 阅读 · 0 评论 -
DS | 哈希表 Hash Table(240216)
242.有效的字母异位词。349. 两个数组的交集。原创 2024-02-14 00:43:24 · 124 阅读 · 0 评论 -
DS | 链表 Linked List(240214更新)
707.设计链表206.反转链表24. 两两交换链表中的节点19.删除链表的倒数第N个节点面试题 02.07. 链表相交142.环形链表II。原创 2024-02-09 00:33:40 · 886 阅读 · 0 评论