
数据结构与算法
槲叶落山路丶
这个作者很懒,什么都没留下…
展开
-
完满二叉树
full binary tree)除了叶节点之外,其余所有节点都有两个子节点。复习二叉树时发现了一个有意思的二叉树,叫完满二叉树(原创 2024-02-19 16:13:41 · 136 阅读 · 1 评论 -
广度优先遍历
它从树的根节点开始,逐层遍历树的节点,先从左往右访问当前层的所有节点,再逐层向下遍历。这是因为BFS首先访问的是距离起始节点最近的节点,逐步向远离起始节点的节点扩展,直到达到目标节点。:从队列中取出一个节点,访问该节点,并将其所有未访问过的邻居节点(子节点)放入队列中。:BFS使用队列数据结构来存储待访问的节点,保证了先进先出(First-In-First-Out,FIFO)的顺序,即先访问的节点先被处理。队列遵循“先进先出”的规则,而广度优先遍历则遵循“逐层推进”的规则,两者背后的思想是一致的。原创 2024-02-19 16:38:14 · 387 阅读 · 1 评论 -
int middle = left + ((right - left) / 2) 防止溢出
当right+left的值超过int的最大值的时候可能会溢出(哪怕最后除2后不会溢出,但是right+left还是溢出的)。所以left+(right-left) 实际上限制了相加的两个数字的大小,不会造成溢出。这道题是用二分查找的方法解决的,我写完之后看题解发现了这样一行代码。看题解下面的评论说这样写是为了防止溢出。今天写题的时候发现了一个细节。原创 2023-12-14 13:41:58 · 193 阅读 · 0 评论 -
LeetCode两数之和
刚开始没想到用哈希表,直接用了双层for暴力解法,看了题解才知道最佳解法是用哈希表,我还是太菜了。原创 2023-12-13 22:27:39 · 58 阅读 · 0 评论