Hello 算法 1.1.0 C++ 版同样,数据结构无处不在:大到社会网络,小到地铁线路,许多系统都可以建模为“图”;大到一个国家,小 到一个家庭,社会的主要组织形式呈现出“树”的特征;冬天的衣服就像“栈”,最先穿上的最后才能脱下; 羽毛球筒则如同“队列”,一端放入、另一端取出;字典就像一个“哈希表”,能够快速查找目标词条。 本书旨在通过清晰易懂的动画图解和可运行的代码示例,使读者理解算法和数据结构的核心概念,并能够通 过编程来实现它们。在此基 . . . . . . . . . . . . . . . . 86 第 5 章 栈与队列 89 5.1 栈 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 5.2 队列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 5.3 双向队列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 5.4 小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 379 页 | 18.47 MB | 1 年前3
Hello 算法 1.0.0 C++版. . . . . . . . . . . . . . . . 86 第 5 章 栈与队列 89 5.1 栈 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 5.2 队列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 5.3 双向队列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 5.4 小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 本书的主要内容如图 0‑1 所示。 ‧ 复杂度分析:数据结构和算法的评价维度与方法。时间复杂度和空间复杂度的推算方法、常见类型、示 例等。 ‧ 数据结构:基本数据类型和数据结构的分类方法。数组、链表、栈、队列、哈希表、树、堆、图等数据 结构的定义、优缺点、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:搜索、排序、分治、回溯、动态规划、贪心等算法的定义、优缺点、效率、应用场景、解题步骤 和示例问题等。0 码力 | 378 页 | 17.59 MB | 1 年前3
Hello 算法 1.2.0 简体中文 C++ 版同样,数据结构无处不在:大到社会网络,小到地铁线路,许多系统都可以建模为“图”;大到一个国家,小 到一个家庭,社会的主要组织形式呈现出“树”的特征;冬天的衣服就像“栈”,最先穿上的最后才能脱下; 羽毛球筒则如同“队列”,一端放入、另一端取出;字典就像一个“哈希表”,能够快速查找目标词条。 本书旨在通过清晰易懂的动画图解和可运行的代码示例,使读者理解算法和数据结构的核心概念,并能够通 过编程来实现它们。在此基 . . . . . . . . . . . . . . . . 86 第 5 章 栈与队列 89 5.1 栈 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 5.2 队列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 5.3 双向队列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 5.4 小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 379 页 | 18.48 MB | 10 月前3
Hello 算法 1.0.0b4 C++版. . . . . . . . . . . . . . . . . 65 5. 栈与队列 68 5.1. 栈 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 5.2. 队列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 5.3. 双向队列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 5.4. 小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . 本书主要内容包括: ‧ 复杂度分析:数据结构和算法的评价维度,算法效率的评估方法。时间复杂度、空间复杂度的推算方 法、常见类型、示例等。 ‧ 数据结构:基本数据类型,数据结构的分类方法。数组、链表、栈、队列、散列表、树、堆、图等数据 结构的定义、优缺点、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:搜索、排序、分治、回溯、动态规划、贪心等算法的定义、优缺点、效率、应用场景、解题步骤、 示例题目等。0 码力 | 343 页 | 27.39 MB | 1 年前3
Hello 算法 1.0.0b5 C++版. . . . . . . . . . . . . . . . 81 第 5 章 栈与队列 84 5.1 栈 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 5.2 队列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 5.3 双向队列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 5.4 小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 本书主要内容如图 0‑1 所示。 ‧ 复杂度分析:数据结构和算法的评价维度与方法。时间复杂度、空间复杂度的推算方法、常见类型、示 例等。 ‧ 数据结构:基本数据类型,数据结构的分类方法。数组、链表、栈、队列、哈希表、树、堆、图等数据 结构的定义、优缺点、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:搜索、排序、分治、回溯、动态规划、贪心等算法的定义、优缺点、效率、应用场景、解题步骤、 示例题目等。0 码力 | 377 页 | 30.69 MB | 1 年前3
《深入浅出MFC》2/e类别上,并供 应各式各样的应用实例,我却意不在此。我希望提供的是对MFC 应用程序基本架构的每一 个技术环节的深入探讨,其中牵扯到MFC 本身的设计原理、对象导向的观念、以及C++ 语 言的高级议题。有了基础面的全盘掌握,各个MFC 类别之使用对我们而言只不过是手册查 阅的功夫罢了。 本书书名已经自我说明了,这是一本既深又浅的书。深与浅是悖离的两条射线,理不应同时 存在。然而,没有深入如何浅出?不入虎穴焉得虎子? 拖放(鼠标左键按下,选中图标后拖动,然后放开) 图标(窗口缩小化后的小图样) 串行 列表框、列表清单 通告消息(发生于控制组件) 强制性、先占式、优先权式 进程(一个执行起来的程序) 队列 template C++ 有所谓的class template,一般译为类别模板; Windows 有所谓的dialog template,我把它译为对话框模板; MFC 有所谓的Document 驱动程序,它们各有侦测回路。 如果把应用程序获得的各种「输入」分类,可以分为由硬件装置所产生的消息(如鼠标 移动或键盘被按下),放在系统队列(system queue)中,以及由Windows 系统或其它 Windows 程序传送过来的消息,放在程序队列(application queue)中。以应用程序的眼 光来看,消息就是消息,来自哪里或放在哪里其实并没有太大区别,反正程序调用 GetMessage0 码力 | 1009 页 | 11.08 MB | 1 年前3
Hello 算法 1.0.0b1 C++版. . . . . . . . . . . . . . . . . 58 5. 栈与队列 59 5.1. 栈 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 5.2. 队列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 5.3. 双向队列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 5.4. 小结 . . . . . . . . . . . . . . . . . . . . . . . . . 复杂度分析:数据结构与算法的评价维度、算法效率的评估方法。时间复杂度、空间复杂度,包括推算 方法、常见类型、示例等。 ‧ 数据结构:常用的基本数据类型,数据在内存中的存储方式、数据结构分类方法。数组、链表、栈、队列、 散列表、树、堆、图等数据结构,内容包括定义、优劣势、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:查找算法、排序算法、搜索与回溯、动态规划、分治算法,内容包括定义、使用场景、优劣势、时0 码力 | 187 页 | 14.71 MB | 1 年前3
Hello 算法 1.0.0b2 C++版. . . . . . . . . . . . . . . . . 58 5. 栈与队列 59 5.1. 栈 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 5.2. 队列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 5.3. 双向队列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 5.4. 小结 . . . . . . . . . . . . . . . . . . . . . . . . . 复杂度分析:数据结构与算法的评价维度、算法效率的评估方法。时间复杂度、空间复杂度,包括推算 方法、常见类型、示例等。 ‧ 数据结构:常用的基本数据类型,数据在内存中的存储方式、数据结构分类方法。数组、链表、栈、队列、 散列表、树、堆、图等数据结构,内容包括定义、优劣势、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:查找算法、排序算法、搜索与回溯、动态规划、分治算法,内容包括定义、使用场景、优劣势、时0 码力 | 197 页 | 15.72 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 06 TBB 开启的并行编程之旅任务域:指定使用 4 个线程 嵌套 for 循环 嵌套 for 循环:死锁问题 死锁问题的原因 • 因为 TBB 用了工作窃取法来分配任务: 当一个线程 t1 做完自己队列里全部的工 作时,会从另一个工作中线程 t2 的队列 里取出任务,以免 t1 闲置浪费时间。 • 因此内部 for 循环有可能“窃取”到另一个 外部 for 循环的任务,从而导致 mutex 被重复上锁。 解决 1 9 14 10 15 13 5 解决 2 :线程数量不变,但是用一个队列分发和认领任务 • 但是线程数量太多会造成调度的 overhead 。 • 所以另一种解法是:我们仍是分配 4 个线程,但 还是把图像切分为 16 份,作为一个“任务”推送到 全局队列里去。每个线程空闲时会不断地从那个 队列里取出数据,即“认领任务”。然后执行,执行 完毕后才去认领下一个任务,从而即使每个任务 线程需要保存上下文的开销。但是需要我们管理 一个任务队列,而且要是线程安全的队列。 struct Task { int x0, y0; int nx, ny; }; std::queueq; 1 2 3 4 解决 3 :每个线程一个任务队列,做完本职工作后可以认领其他线程的任务 工作窃取法( work-stealing ) 原始的单一任务队列 解决 4 :随机分配法(通过哈希函数或线性函数) 0 码力 | 116 页 | 15.85 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 05 C++11 开始的多线程编程的过程中会暂时 unlock() 这个锁。 案例:实现生产者 - 消费者模式 • 类似于消息队列…… • 生产者:厨师,往 foods 队列里推送食品 ,推送后会通知消费者来用餐。 • 消费者:等待 foods 队列里有食品,没有 食品则陷入等待,直到被通知。 条件变量:将 foods 队列封装成类 std::condition_variable 小贴士 1. std::condition_variable0 码力 | 79 页 | 14.11 MB | 1 年前3
共 18 条
- 1
- 2













