- 博客(116)
- 收藏
- 关注
原创 【剑指offer】搜索算法
本文介绍了五个算法问题的解法:1)使用二分查找统计数字在有序数组中的出现次数;2)在行列递增的二维数组中查找目标值;3)通过二分法寻找旋转数组的最小值;4)利用回溯算法生成字符串所有排列组合。每个问题都给出了对应的解题思路和C++代码实现,涉及二分查找、回溯、数组搜索等算法技巧。
2025-08-13 21:53:54
431
1
原创 【剑指offer】树
本文总结了二叉树相关的常见算法问题及解决方案,包括: 基本操作:计算深度、镜像转换、层序遍历、中序遍历等基础算法 搜索与路径: 二叉搜索树查找第k个节点 路径求和问题(三种变体) 最近公共祖先问题 特殊遍历: 之字形遍历 对称性判断 平衡二叉树判断 构造与转换: 根据前序和中序序列重建二叉树 二叉搜索树与双向链表转换 进阶问题: 子树判断 后序序列验证 节点后继查找 所有解法均采用递归或迭代方式实现,强调分治思想和遍历框架的应用,并注意处理边界条件。代码示例展示了如何利用二叉树特性高效解决问题。
2025-07-28 21:34:42
1303
1
原创 【音视频协议篇】WebRTC 快速入门
WebRTC是一项支持浏览器间实时音视频和数据通信的开源技术,基于开放标准运行,适用于所有现代浏览器和主流平台。WebRTC突破了传统通信限制,为开发者提供了强大的实时通信解决方案。在总结提供了《WebRTC权威指南》的下载
2025-07-26 17:55:02
1377
原创 【音视频协议篇】RTMP协议
本文系统介绍了RTMP协议的核心内容,详细解析了握手过程、连接建立步骤、消息类型(协议控制/数据/命令消息)以及块结构等。
2025-07-22 17:04:07
2680
9
原创 【音视频协议篇】RTSP系列
本文系统介绍了流媒体传输中的核心协议:RTSP、RTP、RTCP和SDP。RTSP作为应用层协议负责信令交互,RTP负责媒体数据传输,RTCP提供传输质量反馈。详细解析了推流/拉流流程、RTP数据包结构、H.264和AAC的打包方式、媒体同步机制(通过NTP和RTP时间戳)以及SDP协议的格式规范。SDP协议用于媒体协商,包含会话级和媒体级参数描述。文章通过协议交互时序、数据结构定义和同步原理,完整呈现了流媒体传输的技术框架,为音视频开发提供了理论基础。
2025-07-19 17:48:08
1338
8
原创 【FFmpeg 快速入门】本地播放器 项目
本文介绍了基于FFmpeg 7.1版本开发的本地音乐播放器项目。针对FFmpeg 7.x接口变化带来的学习困难,文章详细解析了播放器的整体架构、数据流向和关键模块设计。主要内容包括:1)播放器的三层处理流程(解复用、解码、渲染);2)线程安全的队列设计;3)音视频同步策略;4)音频输出模块的SDL实现;5)视频渲染与同步机制。该项目采用C++模板和面向对象设计,实现了资源的高效管理,并提供了完整的源码参考。通过学习该项目,开发者可以快速掌握FFmpeg 7.x的新特性和开发方法。
2025-07-17 14:06:02
1537
10
原创 Visual Studio 2022 上使用ffmpeg
摘要:本文介绍了在Visual Studio项目中配置FFmpeg库的步骤:1)在项目属性中添加FFmpeg的include目录;2)添加lib目录到附加库目录;3)在附加依赖项中输入8个FFmpeg库文件名;4)设置动态库环境变量路径;5)提供测试代码示例,通过调用avcodec_configuration()函数验证配置是否成功。配置过程涉及C/C++、链接器和调试等多个属性设置项。
2025-07-11 14:40:13
761
原创 【剑指offer】栈 & 队列
本文总结了5种栈和队列相关的算法实现:1) 用两个栈实现队列(JZ9),通过in栈进元素、out栈出元素;2) 包含min函数的栈(JZ30),使用辅助栈记录最小值;3) 判断栈的压入弹出序列(JZ31),通过模拟操作验证;4) 翻转单词序列(JZ73),利用栈后进先出特性;5) 滑动窗口最大值(JZ59),采用双端队列维护窗口最大值。这些算法都巧妙利用了数据结构的特性,通过辅助存储结构实现了高效的操作。
2025-07-09 10:04:36
461
原创 【剑指offer】链表 系列
本文分享了剑指offer系列链表题目的解题思路和代码实现。针对leetcode下架该系列题目的问题,作者通过购买牛客网实体书整理了这些题目的解题方案,包括从尾到头打印链表、反转链表、合并有序链表、查找公共节点等8个经典链表问题。每个题目都提供了简洁的递归或迭代解法,并附有C++代码实现。作者特别强调了解题的关键思路,如使用哈希表处理复杂链表复制、双指针技巧查找环入口等,帮助读者免费获取这些优质算法资源,避免购买实体书的麻烦。
2025-05-28 20:46:56
698
1
原创 【音视频开发】音视频基础概念
【音视频开发】音视频基础概念。本文系统介绍了音视频开发的基础知识,包括声音原理(声波三要素、人耳听觉范围)、音频数字化(采样/量化/编码)、常用音频编码格式(WAV/MP3/AAC/Ogg)及其特点。在图像方面,阐述了RGB/YUV色彩空间、像素表示方法及存储计算。视频编码部分重点讲解了IPB帧原理、DTS/PTS时间戳、GOP概念等压缩技术,并总结了帧率、分辨率、码率等核心参数。全文通过技术原理与实例计算相结合的方式,帮助读者构建音视频处理的基础知识体系,为后续开发实践奠定理论基础。
2025-05-25 16:31:13
1691
1
原创 【LeetCode 热题 100】哈希 系列
【LeetCode 热题 100】哈希 系列。包含了3道题目,1. 两数之和;49. 字母异位词分组;128. 最长连续序列
2025-04-14 20:57:23
598
1
原创 【入门音视频】音视频基础知识
本期内容主要讲解音视频基础知识,包含了音视频是如何保存成文件,以及如何通过文件播放的,通过这个流程讲解音视频编解码,封装解封装相关的协议。
2025-02-24 21:41:36
1448
7
原创 探索B-树系列
本文将讲解B树系列,包含 B-树,B+树,B*树,其中主要讲解B树底层原理,为什么用B树作为外查询的数据结构,以及B-树插入操作并用代码实现;介绍B+树、B*树。
2025-02-10 21:52:37
1749
7
原创 【Linux杂货铺】线程安全
【Linux杂货铺】线程安全。本文旨在讲解什么是线程安全问题,以及什么是互斥锁,条件变量和信号量,它们是如何解决线程安全问题,以及它们的应用场景。
2024-12-01 20:49:52
1045
11
原创 深入浅出:Protobuf 的原理与实践
深入浅出:Protobuf 的原理与实践。如果你正在寻找一种更高效的数据格式,或者对Protobuf的实现和最佳实践感兴趣,那么本文将为你提供一站式的学习和参考。
2024-11-17 11:28:57
2007
20
原创 【Linux杂货铺】IO多路复用
【Linux杂货铺】IO多路复用。本期【Linux杂货铺】,主要讲解什么是IO多路复用,通过了解IO模式,了解为什么要有多路复用,以及其他的IO模型,学习多路复用的3中模型。
2024-11-10 22:48:56
2126
22
原创 【MySQL必知会】事务
【MySQL必知会】事务。本期【MySQL必知会】主要介绍MySQL中事务的概念,事务是据库管理系统中一个重要的概念,确保数据库操作可靠性的重要机制。
2024-10-07 22:55:42
1957
12
原创 【MySQL】索引
【MySQL】索引。本期【MySQL】讲解MySQL中索引的概念,什么是索引,为什么要有索引,以及MySQL如何做到和磁盘交互,使得数据持久化,还将会展示MySQL索引的相关操作。
2024-10-06 11:24:56
2145
8
原创 【MySQL】复合查询
【MySQL】复合查询。欢迎收看本期【MySQL】,本期内容将讲解MySQL中复合查询的内容,主要包括了笛卡尔积的概念,内外连接等概念,以及使用这些SQL语句。
2024-10-05 23:24:11
1377
8
原创 【MySQL】内置函数
【MySQL】内置函数。本期内容将介绍MySQL中的内置函数,其中包含了日期函数,字符串函数,数学函数以及其他的一些函数,从功能到使用等方面介绍这些函数。
2024-09-25 21:17:49
1594
19
原创 【MySQL】表的基本查询
【MySQL】表的基本查询,主要讲解关于表的内容的操作,包含了如何在表中插入数据,查找数据,删除以及更新表的内容,此外在查找数据时,还会介绍聚合函数以及group by子句的使用。
2024-09-21 10:18:39
2243
16
原创 【MySQL】表的约束
【MySQL】表的约束。本期主要讲解表的约束,包括什么是约束,有哪些约束,这些约束有什么作用等内容,掌握以上内容,你就可以基本掌握如何正确的创建表,以及确保表中数据的正确性和完整性。
2024-09-10 20:12:36
1656
3
原创 【MySQL】数据类型
【MySQL】数据类型。本期【MySQL】主要讲解MySQL中数据类型有哪些,主要讲解数值类型,时间类型,字符类型。
2024-09-08 15:44:50
1357
1
原创 【MySQL】数据库和表的操作
【MySQL】数据库和表的操作。本期【MySQL】内容主要讲解关于数据库和表的相关操作,包括增删查改等内容,才外拓展讲解关于字符集的有关内容。
2024-09-07 19:00:10
2081
15
原创 【MySQL】初识数据库
【MySQL】初识数据库。本期【MySQL】内容,主要带来数据库的基础知识,其中包含了什么数据库,主流数据库,MQL架构,存储引擎等内容。
2024-09-05 22:33:17
1660
17
原创 【C++杂货铺】海量数据处理(位图、布隆过滤器)
【C++杂货铺】海量数据处理(位图、布隆过滤器)。本期【C++杂货铺】,将介绍关于哈希表的扩展内容,即位图和布隆过滤器,以及如何通过位图和布隆过滤器解决海量数据处理问题。
2024-09-01 08:29:43
1468
20
原创 【网络世界】网络层
【网络世界】网络层。本期内容将讲解网络层的一些概念,例如IP地址是什么,IP协议格式,以及IP分段和组装,以及IPV4的危机,NAT技术等等。
2024-08-30 19:44:04
2978
12
原创 【网络世界】数据链路层
【网络世界】数据链路层。本期内容讲解TCP/IP协议栈中的数据链路层,包含了MAC地址,局域网通信,ARP协议等。
2024-08-05 20:14:03
1913
21
原创 【网络世界】传输层协议
【网络世界】传输层协议。本期内容讲解TCP/IP协议栈中的传输层协议,即UDP协议和TCP协议。包含了他们的协议格式,特点等。介绍他们的应用场景,最后对比TCP与UDP协议。此外,还将介绍套接字是如何工作的。
2024-08-01 08:44:59
3052
35
原创 【网络世界】HTTPS协议
【网络世界】HTTPS协议。本期将介绍应用层协议HTTPS的理论知识,通过了解HTTP缺陷,引入HTTPS是如何解决,以及在解决过程中遇到的问题,如何解决这些问题的。其中不乏一些有趣的知识,例如中间人攻击,CA机构,证书等。
2024-07-30 21:39:48
2715
36
原创 【网络世界】HTTP协议
【网络世界】HTTP协议。本文旨在研究学习HTTP协议的底层机制,协议格式中各个参数的含义,如何正确使用,此外通过HTTP协议学习Cookie和Session技术。
2024-07-27 21:53:13
2137
32
原创 【C++杂货铺】智能指针
本期【C++杂货铺】,主要讲解内存泄露的概念,如何避免内存泄漏,RAII是如何解决,引入智能指针对象,智能指针的三种类型,以及各自的优缺点,及其使用陷阱,此外,还将展示其底层实现。
2024-07-22 17:14:59
1636
33
原创 【网络世界】网络基础概念
本期【网络世界】介绍的是计算机网络基本概念,其中如目录所示的所有内容,包含了概念定义,网络通信的基本流程,此外还有介绍网络编程socket的API。此外,像一些比较重要的内容,例如TCP/IP协议集,IP地址,MAC地址,端口号,封装解封装分用的过程,是本期的主要内容。
2024-07-15 21:24:15
1632
3
原创 【C++杂货铺】C++11新特性
本期【C++杂货铺】介绍的是C++11新特性,其中如目录所示的所有内容,包含了概念定义,如何使用等方面,快速入手C++11带来的新内容。
2024-07-12 12:41:31
3982
33
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅