C语言进阶-第24~28讲:算法概述

查找问题及其求解

        之前学过逐次查找,二分查找,今后还将学习二叉查找树,这些都是通过比较进行查找的;

        这次学习了非比较查找,内涵是将数据重新放到一组数组中,查找在新数组中的位置。

于是,接触到了哈希法,主要学习了除留取余法及其在处理两个数的余数相同情况下的开放地址法


排序问题及其求解

        之前学过冒泡法、选择法,这次学了快速排序,这些都是通过比较进行排序的;

        补充了非比较排序的算法(简单计数排序)。


回溯溯法问题求解

        一种通用的搜索算法。即:一个问题有多种情况并要逐级讨论。

遍历所有情况,求出所有解(先从上级往下级完成一个解,再从下往上找其他解)

回溯的过程:但当探索到某一步时,发现原先选择并不优或达不到目标,就退到上一步重新选择。


贪心法问题求解

        局部最优。即:将求解问题分成若干步,每一步得到最优解,不从整体考虑。当若干子问题之间无联系时,可采用贪心策略达到整体最优。


动态规划法问题求解

        全局最优。即:将待求解问题分成若干个阶段(子问题),子问题之间相互联系,在求子问题的过程中,逐步推导出原问题的解。

你可能感兴趣的:(C语言进阶,c语言)