算法
文章平均质量分 93
Dusong_
平庸的人用热闹填补空虚,优秀的人以独处成就自己
所有学习笔记:https://github.com/Dusongg
展开
-
用栈实现二叉树的非递归遍历与非递归实现快速排序的联系
在调用函数时内存中的栈会为函数开辟函数栈帧,由于栈顶为低地址,栈底为高地址,具体为栈指针寄存器%rsp减去一定大小的值(subq),函数结束再通过addq指令释放函数所开辟的空间,深入理解函数调用的底层实现很有利于我们理解如何用数据结构的栈来模拟递归过程。② 处理顺序:首先处理根节点,由于先进后出,先将右节点加入栈,再将左节点加入栈,接下来的下一次循环取栈顶元素,对应于进入下层递归;② 处理顺序:前序遍历为中、左、右,所以先处理根节点,再依次递归左右节点;二、二叉树的非递归遍历(前序)原创 2023-04-03 10:33:42 · 510 阅读 · 2 评论 -
⌈C⌋哈希表UT_hash_handle——如何将结构体类型作为key
用c语言实现哈希表unordered_set,并用哈希表解决 两个链表的第一个公共节点 , 两数之和 ,前K个高频单词原创 2023-01-24 18:45:33 · 6975 阅读 · 5 评论 -
《剑指offer》位运算相关题目详解
学习完了一系列位操作符,却不知道能拿来干什么?原创 2023-01-10 18:32:39 · 275 阅读 · 2 评论 -
⌈C语言⌋ 用队列实现二叉树的层序遍历(广度优先搜索)
用纯C语言实现层序遍历+经典例题原创 2022-12-28 00:39:28 · 2155 阅读 · 3 评论 -
滑动窗口基础与提升
以最快的速度掌握滑动窗口原创 2022-12-16 21:47:06 · 329 阅读 · 5 评论 -
【算法】动态规划(三)——打家劫舍系列问题
【C语言】用动态规划解决leetcode上打家劫舍Ⅰ、打家劫舍Ⅱ以及打家劫舍Ⅲ原创 2022-12-13 15:34:39 · 1779 阅读 · 2 评论 -
【算法】动态规划(二)——从根本解决完全背包与01背包
继01背包问题,我们继续学习完全背包,并通过518.零钱兑换 II ;322.零钱兑换 ; 377.组合总和 Ⅳ 等例题熟练掌握完全背包原创 2022-12-10 16:53:04 · 431 阅读 · 0 评论 -
【算法】动态规划(一)——由理论到例题逐步理解
用C语言解决动态规划中路径问题与01背包问题——使用最小花费爬楼梯、不同路径、分割等和子集、目标和原创 2022-12-07 15:23:36 · 995 阅读 · 0 评论 -
【算法】回溯算法+进阶题——全排列Ⅱ、组合总和Ⅱ、解数独
经典算法,经典套路,一起来学习这个具有暴力美学的回溯算法吧!原创 2022-11-24 23:27:59 · 1161 阅读 · 2 评论 -
【C语言】全排列算法(回溯+递归)——找出找出走通五个地方最短路径
学了这么多C语言知识,总得搞出点什么吧(三)——递归实现全排列原创 2022-11-16 16:43:07 · 2265 阅读 · 2 评论 -
【数据结构(三)】用C语言实现希尔、堆、快排、归并、三数找中、小区间优化——肝n小时图解进阶排序算法,不信你学不会
肝了n个小时制作出的gif图以及视频,解析复杂排序算法原创 2022-11-05 21:08:48 · 2097 阅读 · 6 评论 -
【C语言】如何“查找”到你想要数字(二分查找,哈希表)——LeetCode刷题分享
C语言中如何查找到你想要的数据呢?查找的方法多种多样,运用场景也千变万化,接下来我们一起来学习基础且实用的查找方法。(二分查找,哈希表等)原创 2022-10-11 21:35:32 · 2150 阅读 · 2 评论