随笔分类 -  嵌入式开发

上一页 1 ··· 6 7 8 9 10 11 12 13 14 下一页
摘要:一、什么是贪心算法 贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,贪心算法并不从整体最优上加以考虑,它所做出的选择只是在某种意义上的局部最优解。贪心算法的基本思路是从问题的某一个初始解出发,然后一步一步地进行,根据某个优化测度,每一步都要确保能获得局部最优解 阅读全文
posted @ 2023-08-12 19:57 星光映梦 阅读(136) 评论(0) 推荐(0)
摘要:一、什么是分治算法 分治算法(Divide and Conquer)是一种基于多级决策解决问题的重要算法范式。其基本思想是将一个难以直接解决的大问题,分割成一些规模较小的、可以独立求解的问题,以便各个击破,分而治之,最后合并各个子问题的解得到原问题的解。 分治算法通常包含三个主要步骤: 分解(Div 阅读全文
posted @ 2023-08-10 19:10 星光映梦 阅读(90) 评论(0) 推荐(0)
摘要:一、冒泡排序 冒泡排序(Bubble Sort)重复地遍历待排序的数列,依次比较相邻元素的值,如果它们的顺序错误(比如在升序排序中,前一个元素大于后一个元素),就交换它们的位置。遍历的过程会重复进行多次,直到整个数列变成有序状态。冒泡排序的名字来源于较小的元素会像水底的气泡一样逐渐 “浮” 到数列的 阅读全文
posted @ 2023-08-08 19:23 星光映梦 阅读(76) 评论(0) 推荐(0)
摘要:一、顺序查找 顺序查找(Sequential Search)的基本思想是从数据集合的起始位置开始,逐个检查每个元素,直到找到目标元素或者遍历完整个集合。 /** * @brief 线性查找 * * @param A 查找数组 * @param N 数组长度 * @param key 查找的元素 * 阅读全文
posted @ 2023-08-06 19:29 星光映梦 阅读(51) 评论(0) 推荐(0)
摘要:一、什么是拓扑排序 如果图中从 V 到 W 有一条有向路径,则 V 一定排在 W 之前。满足此条件的顶点序列称为一个 拓扑序。获得一个拓扑序的过程就是 拓扑排序。拓扑排序是对有向无圈图的顶点的一种排序。 /** * @brief 拓扑排序 * * @param G 图 */ void TopSort 阅读全文
posted @ 2023-08-04 18:29 星光映梦 阅读(41) 评论(0) 推荐(0)
摘要:一、什么是最小生成树 最小生成树(Minimum Cost Spanning Tree,简称 MST)问题是指假设给定一个带权的无向连通图,如何选取一棵树,使树上所有边上的权的总和为最小。最小生成树包含图中全部顶点和 N-1 条边。 二、Prim算法 Prim 算法(普里姆算法)从某一个结点开始构建 阅读全文
posted @ 2023-08-02 17:41 星光映梦 阅读(59) 评论(0) 推荐(0)
摘要:一、最短路径问题 图的最短路径问题是指在加权图中寻找两个顶点之间权重之和最小的路径。 二、单源最短路径问题 单源最短路径问题是在加权图中寻找从一个特定源节点到所有其他节点的最短路径。这里,我们按照 递增 的顺序依次找出各个顶点的最短路径。 2.1、无权图的单源最短路径 无权图的单源最短路径问题,即图 阅读全文
posted @ 2023-07-31 19:28 星光映梦 阅读(75) 评论(0) 推荐(0)
摘要:一、什么是图 图 G 由 顶点集 V 和 边集 E 组成,记为 G=(V, E)。其中,V(G) 表示图 G 中顶点的有限非空集;E(G) 表示图 G 中顶点之间的关系(边)集合。若 \(V = \{v_{1}, v_{2}, …, v_{n}\}\),则用 \(|v|\) 表示图 G 中 顶点的个 阅读全文
posted @ 2023-07-29 19:52 星光映梦 阅读(82) 评论(0) 推荐(0)
摘要:一、什么是并查集 并查集(Disjoint Set)是一种数据结构,用于管理一组不相交的集合,并支持两种主要操作: 查找(Find) :确定一个元素属于哪个集合,或者判断两个元素是否属于同一个集合。 合并(Union) :将两个不同的集合合并为一个集合。 并查集的核心思想是通过树形结构来表示集合,其 阅读全文
posted @ 2023-07-27 21:43 星光映梦 阅读(85) 评论(0) 推荐(0)
摘要:一、什么是哈夫曼树 哈夫曼树(Huffman Tree),又称为 最优二叉树 或 最小带权路径长度树,是一种特殊的二叉树。假设二叉树有 n 个叶子结点,每个叶子结点带有权值 \(w_{k}\),从根结点到每个叶子结点的长度为 \(l_{k}\),则每个叶子结点的 带权路径长度(WPL) 之和就是:\ 阅读全文
posted @ 2023-07-25 19:42 星光映梦 阅读(185) 评论(0) 推荐(0)
摘要:一、什么是二叉堆 二叉堆 也叫 优先队列(Priority Queue),它是一种特殊的队列,它取出元素的顺序是依照元素的 优先权(关键字)大小,而不是元素进入队列的先后顺序。二叉堆可以使用用数组表示的完全二叉树表示。任一结点的关键字是其子树所有结点的最大值或最小值。如果是最大值,则这个堆被称为 最 阅读全文
posted @ 2023-07-23 19:58 星光映梦 阅读(67) 评论(0) 推荐(0)
摘要:一、什么是平衡二叉树 平衡二叉树(Balanced Binary Tree,简称 AVL 树)是带有平衡条件的二叉搜索树。它可以是空树,如果不空,它的任一结点的左、右子树高度差的绝对值不超过 1,即 平衡因子(Balance Factor,简称 BF)的绝对值 \(|BF(T)| = h_{L} - 阅读全文
posted @ 2023-07-21 17:16 星光映梦 阅读(88) 评论(0) 推荐(0)
摘要:一、什么是二叉搜索树 二叉搜索树 是一颗特殊的二叉树。它可以为空,如果不为空,它的 非空左子树 的 所有键值小于其根结点的键值,非空右子树 的 所有键值大于其根结点的键值,并且它的 左、右子树都是二叉搜索树。 二叉搜索树在二叉树的基础上扩展了一些方法。 ADT BinarySearchTree { 阅读全文
posted @ 2023-07-19 18:36 星光映梦 阅读(114) 评论(0) 推荐(0)
摘要:一、什么是二叉树 二叉树 T 是一个有穷的结点集合。这个结合可以为空。若不为空,则它是由 根结点 和称为其 左子树 \(T_{L}\) 和 右子树 $T_{R} $ 的两个不相交的二叉树组成。二叉树是一颗度为 2 的树,并且二叉树的子树有左右之分。 一些比较常见的特殊二叉树如下: 二叉树具有以下几个 阅读全文
posted @ 2023-07-17 19:15 星光映梦 阅读(126) 评论(0) 推荐(0)
摘要:一、什么是树 树是 n(n≥0)个 结点 的有限集合,n=0 时,称为 空树,这是一种特殊的情况。在任意一颗 非空树 中应该满足以下条件: 有且仅有一个特定的称为 根 的结点。 当 n≥1 时,其余结点可分为 m(m>0)个 互不相交的有限集合 \(T_{1}, T_{2}, ..., T_{m}\ 阅读全文
posted @ 2023-07-15 18:26 星光映梦 阅读(93) 评论(0) 推荐(0)
摘要:一、什么是散列表 散列表(Hash Table),又称 哈希表,它是一种数据结构,特点是 数据元素的关键字与其存储地址直接相关。 我们将每个关键字映射到从 0 到 TableSize-1 这个范围中的某个数,并且放到适当的单元中。这种映射就叫做 散列函数。理想情况下,它应该运算简单并且应该保证任何两 阅读全文
posted @ 2023-07-13 18:51 星光映梦 阅读(49) 评论(0) 推荐(0)
摘要:一、什么是串 串,即 字符串(String)是由零个或多个字符组成的有限序列,一般即为 \(S="a_{1}a_{2}...a_{n}"\)。其中,S 是 串名,双引号引起的字符序列就是 串的值。\(a_{i}\) 可以是字母、数字或其它字符。串中字符的个数 n 称为 串的长度。n=0 时的串称为 阅读全文
posted @ 2023-07-11 17:28 星光映梦 阅读(89) 评论(0) 推荐(0)
摘要:一、什么是双端队列 双端队列是只允许从两端插入和删除的线性表。 ADT Deque { Data: 双端队列D∈Deque, 队头元素Item∈ElementType; Operation: Deque CreateDeque(void); // 生成一个空的双端队列 int IsEmpty(Deq 阅读全文
posted @ 2023-07-09 20:10 星光映梦 阅读(73) 评论(0) 推荐(0)
摘要:一、什么是队列 队列(quene) 是一种具有操作约束的线性表,它只能在一端插入,在另一端删除。队列的基本操作是 入队(Enquene)和 出队(Dequene)。入队,它是在 队尾(表的末端)插入一个元素。出队,它是删除并返回 队头(表的开头)的元素。队列具有 先进先出(FIFO)的特性。 ADT 阅读全文
posted @ 2023-07-07 18:40 星光映梦 阅读(116) 评论(0) 推荐(0)
摘要:一、什么是共享栈 两个栈共享同一片存储空间,这片存储空间不单独属于任何一个栈,某个栈需要的多一点,它就可能得到更多的存储空间。两个栈的栈底在这片存储空间的两端,当元素入栈时,两个栈的栈顶指针相向而行。 #define MAX_SIZE 10 typedef int ElementType; type 阅读全文
posted @ 2023-07-05 21:36 星光映梦 阅读(132) 评论(0) 推荐(0)

上一页 1 ··· 6 7 8 9 10 11 12 13 14 下一页