<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Yanxiang Zhang</title><description>Yanxiang Zhang&apos;s personal blog on Computer Vision, Multi-Agent Systems, Algorithms, and Embodied AI.</description><link>https://yanxiangzhang.com/</link><item><title>Example: Paper Sharing</title><link>https://yanxiangzhang.com/blog/paper-sharing/example-paper-sharing/</link><guid isPermaLink="true">https://yanxiangzhang.com/blog/paper-sharing/example-paper-sharing/</guid><description>This is a placeholder post for the Paper Sharing category. Replace it with your actual paper sharing content.</description><pubDate>Wed, 01 Jan 2025 00:00:00 GMT</pubDate></item><item><title>Example: Personal Insights</title><link>https://yanxiangzhang.com/blog/personal-insights/example-personal-insights/</link><guid isPermaLink="true">https://yanxiangzhang.com/blog/personal-insights/example-personal-insights/</guid><description>This is a placeholder post for the Personal Insights category. Replace it with your actual content.</description><pubDate>Wed, 01 Jan 2025 00:00:00 GMT</pubDate></item><item><title>Hashing I 哈希 ChatGPT-summarized</title><link>https://yanxiangzhang.com/blog/cs-major-courses/algorithm-analysis-and-design/hashing-i-%E5%93%88%E5%B8%8C-chatgpt-summarized/</link><guid isPermaLink="true">https://yanxiangzhang.com/blog/cs-major-courses/algorithm-analysis-and-design/hashing-i-%E5%93%88%E5%B8%8C-chatgpt-summarized/</guid><description>下面是完全兼容 Obsidian 的 Markdown + LaTeX 版本（已清理所有非标准标记，可直接粘贴）： 2. (T[k]) 存的是 record，不是 key 定义： $$ T[k] = \begin{cases} x &amp; \text{if } key[x] = k \ \text{NIL} &amp; \t...</description><pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Hashing I 哈希</title><link>https://yanxiangzhang.com/blog/cs-major-courses/algorithm-analysis-and-design/hashing-i-%E5%93%88%E5%B8%8C/</link><guid isPermaLink="true">https://yanxiangzhang.com/blog/cs-major-courses/algorithm-analysis-and-design/hashing-i-%E5%93%88%E5%B8%8C/</guid><description>Direct-Access Table 直接寻址表 算法实现 存在问题 Direct-access table = 用空间换时间的极限方案： 用一个巨大数组，实现真正的 Θ(1) 查找，但通常空间不可接受。 为了解决空间的不可接受性, 推出Hashing Table Hashing Table 哈希表 哈希表由两...</description><pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Trick for Analyzing Recursive Time Complexity</title><link>https://yanxiangzhang.com/blog/cs-major-courses/algorithm-analysis-and-design/trick-for-analyzing-recursive-time-complexity/</link><guid isPermaLink="true">https://yanxiangzhang.com/blog/cs-major-courses/algorithm-analysis-and-design/trick-for-analyzing-recursive-time-complexity/</guid><description>$T(n)=T(an)+T(bn)+O(n)$ if $a+b=1$: $T(n)=O(nlogn)$ else if $a+b&lt;1$: $T(n)=O(n)$</description><pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Order Statistic 顺序统计量</title><link>https://yanxiangzhang.com/blog/cs-major-courses/algorithm-analysis-and-design/order-statistic-%E9%A1%BA%E5%BA%8F%E7%BB%9F%E8%AE%A1%E9%87%8F/</link><guid isPermaLink="true">https://yanxiangzhang.com/blog/cs-major-courses/algorithm-analysis-and-design/order-statistic-%E9%A1%BA%E5%BA%8F%E7%BB%9F%E8%AE%A1%E9%87%8F/</guid><description>核心任务: Top-K问题: 在一个数组中找第k小/大的元素 实现方法: 1. Quick Select 快速选择 2. BFPRT - Median of Medians BFPRT选择算法 总结 Quick Select 其实就是只走一边的Quick Sort. Quick Select 虽然worst ca...</description><pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate></item><item><title>BFPRT - Median of Medians BFPRT选择算法</title><link>https://yanxiangzhang.com/blog/cs-major-courses/algorithm-analysis-and-design/bfprt---median-of-medians-bfprt%E9%80%89%E6%8B%A9%E7%AE%97%E6%B3%95/</link><guid isPermaLink="true">https://yanxiangzhang.com/blog/cs-major-courses/algorithm-analysis-and-design/bfprt---median-of-medians-bfprt%E9%80%89%E6%8B%A9%E7%AE%97%E6%B3%95/</guid><description>核心任务: Top-K问题: 在一个数组中找第k小/大的元素 隶属于任务: Order Statistic 顺序统计量 参考方法: Quick Select 快速选择 算法实现: step1: 分组, 5个元素一组 step2: 找每组的中位数(给每组的5个数排序) step3: 找中位数中的中位数pivot s...</description><pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Quick Select 快速选择</title><link>https://yanxiangzhang.com/blog/cs-major-courses/algorithm-analysis-and-design/quick-select-%E5%BF%AB%E9%80%9F%E9%80%89%E6%8B%A9/</link><guid isPermaLink="true">https://yanxiangzhang.com/blog/cs-major-courses/algorithm-analysis-and-design/quick-select-%E5%BF%AB%E9%80%9F%E9%80%89%E6%8B%A9/</guid><description>核心任务: Top-K问题: 在一个数组中找第k小/大的元素 隶属于任务: Order Statistic 顺序统计量 参考方法: Divide &amp; Conquer 分治 Quick Sort 快速排序 算法实现: step1: 随机选择一个pivot step2: 将数组分为3部分 $O(n)$ step3: ...</description><pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate></item><item><title>RadioButton 组件实现 教学总结</title><link>https://yanxiangzhang.com/blog/cs-major-courses/desktop-application-develop/radiobutton-%E7%BB%84%E4%BB%B6%E5%AE%9E%E7%8E%B0-%E6%95%99%E5%AD%A6%E6%80%BB%E7%BB%93/</link><guid isPermaLink="true">https://yanxiangzhang.com/blog/cs-major-courses/desktop-application-develop/radiobutton-%E7%BB%84%E4%BB%B6%E5%AE%9E%E7%8E%B0-%E6%95%99%E5%AD%A6%E6%80%BB%E7%BB%93/</guid><description>很好。现在进入最后一个组件：RadioButton：阶段 2（教学总结）。 先给结论： 这个模块真正要掌握的，不只是“单选按钮能点”，而是 “多个单选按钮如何组织成互斥组，并把用户选择映射成程序可判断的状态”。 也就是说，这一节的核心不是 本身，而是： [ QRadioButton ;+; QButtonGrou...</description><pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate></item><item><title>PlainTextEdit 组件实现 教学总结</title><link>https://yanxiangzhang.com/blog/cs-major-courses/desktop-application-develop/plaintextedit-%E7%BB%84%E4%BB%B6%E5%AE%9E%E7%8E%B0-%E6%95%99%E5%AD%A6%E6%80%BB%E7%BB%93/</link><guid isPermaLink="true">https://yanxiangzhang.com/blog/cs-major-courses/desktop-application-develop/plaintextedit-%E7%BB%84%E4%BB%B6%E5%AE%9E%E7%8E%B0-%E6%95%99%E5%AD%A6%E6%80%BB%E7%BB%93/</guid><description>很好。现在进入 PlainTextEdit：阶段 2（教学总结）。 先给结论： 这一项真正要掌握的，不只是“多行文本能读出来”，而是 Qt 中文本对象模型 + Model/View 显示链。这次代码实际上完成了这样一条路径： [ QPlainTextEdit \rightarrow QTextDocument \...</description><pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Dial + LCDNumber 组件实现 教学总结</title><link>https://yanxiangzhang.com/blog/cs-major-courses/desktop-application-develop/dial--lcdnumber-%E7%BB%84%E4%BB%B6%E5%AE%9E%E7%8E%B0-%E6%95%99%E5%AD%A6%E6%80%BB%E7%BB%93/</link><guid isPermaLink="true">https://yanxiangzhang.com/blog/cs-major-courses/desktop-application-develop/dial--lcdnumber-%E7%BB%84%E4%BB%B6%E5%AE%9E%E7%8E%B0-%E6%95%99%E5%AD%A6%E6%80%BB%E7%BB%93/</guid><description>很好。现在进入 LCD Number：阶段 2（教学总结）。 先给结论： 这个模块表面上是在学 ，但本质上是在学 “同一个数值的多种表示方式” 与 “输入控件驱动显示控件”。 和前面的模块相比： - ：重点是数值输入与计算联动 - ：重点是参数驱动外观变化 - ：重点是数值表示形式切换 文档中这一节明确给出了： ...</description><pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate></item><item><title>ComBox 组件实现 教学总结</title><link>https://yanxiangzhang.com/blog/cs-major-courses/desktop-application-develop/combox-%E7%BB%84%E4%BB%B6%E5%AE%9E%E7%8E%B0-%E6%95%99%E5%AD%A6%E6%80%BB%E7%BB%93/</link><guid isPermaLink="true">https://yanxiangzhang.com/blog/cs-major-courses/desktop-application-develop/combox-%E7%BB%84%E4%BB%B6%E5%AE%9E%E7%8E%B0-%E6%95%99%E5%AD%A6%E6%80%BB%E7%BB%93/</guid><description>很好。现在进入 ComboBox：阶段 2（教学总结）。 先给结论： 这次真正要掌握的，不是“下拉框里能放几项”，而是 作为“选择器”和“状态入口”的作用。 这个模块比前面几个更接近真实业务界面，因为它已经不是单个控件自娱自乐，而是在做： [ \text{一级选择} \rightarrow \text{决定二级可...</description><pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate></item><item><title>CheckBox 组件实现 教学总结</title><link>https://yanxiangzhang.com/blog/cs-major-courses/desktop-application-develop/checkbox-%E7%BB%84%E4%BB%B6%E5%AE%9E%E7%8E%B0-%E6%95%99%E5%AD%A6%E6%80%BB%E7%BB%93/</link><guid isPermaLink="true">https://yanxiangzhang.com/blog/cs-major-courses/desktop-application-develop/checkbox-%E7%BB%84%E4%BB%B6%E5%AE%9E%E7%8E%B0-%E6%95%99%E5%AD%A6%E6%80%BB%E7%BB%93/</guid><description>很好。现在进入 CheckBox：阶段 2（教学总结）。 先给结论： 这个模块真正要掌握的，不只是“复选框能打勾”，而是 QCheckBox 的三种典型职责： 1. 单项开关：开 / 关 2. 三态选择：选中 / 半选 / 未选中 3. 主从联动控制：一个主框控制多个子框 你的作业文档这次实际上把这三类用法放在一...</description><pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate></item><item><title>HorizontalSlider 组件实现 教学总结</title><link>https://yanxiangzhang.com/blog/cs-major-courses/desktop-application-develop/horizontalslider-%E7%BB%84%E4%BB%B6%E5%AE%9E%E7%8E%B0-%E6%95%99%E5%AD%A6%E6%80%BB%E7%BB%93/</link><guid isPermaLink="true">https://yanxiangzhang.com/blog/cs-major-courses/desktop-application-develop/horizontalslider-%E7%BB%84%E4%BB%B6%E5%AE%9E%E7%8E%B0-%E6%95%99%E5%AD%A6%E6%80%BB%E7%BB%93/</guid><description>很好。现在进入 HorizontalSlider：阶段 2（教学总结）。 先给结论： 这一项真正要掌握的不是“滑块能拖动”，而是 Qt 中另一条非常重要的交互链： [ \text{滑块值变化} \rightarrow \text{读取多个控件状态} \rightarrow \text{组装颜色对象} \right...</description><pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate></item><item><title>ProgressBar 组件实现 教学总结</title><link>https://yanxiangzhang.com/blog/cs-major-courses/desktop-application-develop/progressbar-%E7%BB%84%E4%BB%B6%E5%AE%9E%E7%8E%B0-%E6%95%99%E5%AD%A6%E6%80%BB%E7%BB%93/</link><guid isPermaLink="true">https://yanxiangzhang.com/blog/cs-major-courses/desktop-application-develop/progressbar-%E7%BB%84%E4%BB%B6%E5%AE%9E%E7%8E%B0-%E6%95%99%E5%AD%A6%E6%80%BB%E7%BB%93/</guid><description>很好。现在进入 ProgressBar：阶段 2（教学总结）。 先给结论： 这一项表面上是在学 ，但真正核心是 “时间驱动界面更新”。前几个模块大多是： [ \text{用户操作} \rightarrow \text{界面变化} ] 而这一项开始变成： [ \text{定时器触发} \rightarrow \te...</description><pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate></item><item><title>DateTimeEdit 组件实现 教学总结</title><link>https://yanxiangzhang.com/blog/cs-major-courses/desktop-application-develop/datetimeedit-%E7%BB%84%E4%BB%B6%E5%AE%9E%E7%8E%B0-%E6%95%99%E5%AD%A6%E6%80%BB%E7%BB%93/</link><guid isPermaLink="true">https://yanxiangzhang.com/blog/cs-major-courses/desktop-application-develop/datetimeedit-%E7%BB%84%E4%BB%B6%E5%AE%9E%E7%8E%B0-%E6%95%99%E5%AD%A6%E6%80%BB%E7%BB%93/</guid><description>很好。现在进入 DateTime 日期与时间组件：阶段 2（教学总结）。 先给结论： 这一项真正要掌握的，不是“按钮一按能显示当前时间”，而是 Qt 中日期、时间、日期时间这三类对象的区别与转换关系： [ QDate,\ QTime,\ QDateTime ] 以及两条最核心的数据流： [ \text{系统当前时...</description><pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate></item><item><title>LineEdit + Login 登录界面实现 教学总结</title><link>https://yanxiangzhang.com/blog/cs-major-courses/desktop-application-develop/lineedit--login-%E7%99%BB%E5%BD%95%E7%95%8C%E9%9D%A2%E5%AE%9E%E7%8E%B0-%E6%95%99%E5%AD%A6%E6%80%BB%E7%BB%93/</link><guid isPermaLink="true">https://yanxiangzhang.com/blog/cs-major-courses/desktop-application-develop/lineedit--login-%E7%99%BB%E5%BD%95%E7%95%8C%E9%9D%A2%E5%AE%9E%E7%8E%B0-%E6%95%99%E5%AD%A6%E6%80%BB%E7%BB%93/</guid><description>很好。既然 已经跑通，现在进入阶段 2：教学总结。 先给结论： 这个模块表面上是在学 ，但本质上已经进入了一个小型综合 GUI 模块： 你同时用到了 - ：输入用户名和密码 - ：文本读取、裁剪、比较 - ：把字符串转成字节流 - ：做 MD5 哈希 - ：做本地持久化配置 - ：做交互反馈 - 自定义函数 - ...</description><pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate></item><item><title>SpinBox 组件实现 教学总结</title><link>https://yanxiangzhang.com/blog/cs-major-courses/desktop-application-develop/spinbox-%E7%BB%84%E4%BB%B6%E5%AE%9E%E7%8E%B0-%E6%95%99%E5%AD%A6%E6%80%BB%E7%BB%93/</link><guid isPermaLink="true">https://yanxiangzhang.com/blog/cs-major-courses/desktop-application-develop/spinbox-%E7%BB%84%E4%BB%B6%E5%AE%9E%E7%8E%B0-%E6%95%99%E5%AD%A6%E6%80%BB%E7%BB%93/</guid><description>很好。现在进入 SpinBox 数值组件：阶段 2（教学总结）。 先给结论： 这个模块表面上是在学 ，但真正要掌握的是一条更重要的 Qt 交互链： [ \text{数值输入控件} \rightarrow \text{信号发射} \rightarrow \text{槽函数计算} \rightarrow \text{...</description><pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate></item></channel></rss>