数据结构算法思想

网友投稿 228 2022-09-23

数据结构算法思想

1. 枚举

1.1​​枚举思想的三个问题​​ 确定解空间减少搜索的空间合适的搜索顺序 1.2 ​​枚举分析​​ 把问题分解成横向的同类子问题。

2. 递归

2.1​​什么是递归?​​ 递归是问题调用自身问题求解的过程划分成性质相同的子问题而小问题容易求出 2.2 ​​递归分析​​ 把问题分解成纵向的有层级的同类子问题。 2.3​​递归的三个要点​​ 递归式:如何划分子问题递归出口:递归的终止条件,可以允许多个出口界函数:保证问题先出口靠拢 2.4​​递归问题的关键​​ 找出递推式找到递推的终止条件

3. 动态规划

3.1`动态规划的特点把原始问题分解成一系列子问题并将子问题的结果保存在一个表中自底向上地计算 3.2 ​​重叠子问题​​ 子问题地结果被重复使用

4. 深度优先搜索

DFS代码

DFS(v){ if(v被访问过) return; if(如果找到要找的节点) return; 将v标记为已访问 for(){ 对和v相临地每隔节点U :DFS(U) }}int main(){ //从第一个节点开始找 DFS(1);}

4. 广度优先搜索

BFS代码

q.push(head);while(!q.empty()){ temp=q.front(); q.pop(); if(tempÎ为目标状态) 输出或记录 if(temp不合法 ) continue; if(temp合法) q.push(temp+¦Δ ); }

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:新任CEO陈磊带拼多多实现首个盈利季!
下一篇:算法提高 学霸的迷宫
相关文章

 发表评论

暂时没有评论,来抢沙发吧~