Algorithm:【算法进阶之路】之算法面试刷题集合—六大高级算法(枚举算法、回溯算法、递归思想、分治思想、动态规划、贪心算法)—最经典二十道算法刷题集合(问题详解+解题思路+代码实现)之最强攻略

132 篇文章 158 订阅 ¥39.90 ¥99.00
103 篇文章 27 订阅

Algorithm:【算法进阶之路】之算法面试刷题集合—六大高级算法(枚举算法、回溯算法、递归思想、分治思想、动态规划、贪心算法)—最经典二十道算法刷题集合(问题详解+解题思路+代码实现)之最强攻略

导读:六大高级算法中,比如枚举算法不必要花很长时间,因为面试,肯定是提问,能够提高效率的算法!一定要多学习递归、动态规划等高级算法!所以,动态规划编程题,是一定要100%掌握!

目录

六大高级算法最经典二十道算法刷题集合

1、枚举算法相关的问题:约瑟夫环、排列组合

(1)、约瑟夫环问题(Josephus problem)的简介

T1、利用枚举算法实现约瑟夫环问题——O(n * k)

(2)、排列组合问题的简介

T1、利用枚举算法实现排列组合问题

# (1)、利用枚举算法求解排列问题——O(n!)

# (2)、利用枚举算法求解组合问题

2、回溯算法相关的问题:N皇后、图的着色、全排列

(1)、全排列问题的简介

T1、利用回溯算法实现全排列问题—— O(n!)——0719字节已考

排列问题求解对比——时间复杂度均为O(n!):permute_EA、permute_BA

(2)、N皇后问题的简介

T1、利用回溯算法实现N皇后问题——O(n!)

T2、利用回溯算法+yield函数解决八皇后问题

(3)、图的着色问题的简介

T1、利用回溯算法实现图的着色问题——O(n^m)

3、递归思想相关的问题:斐波那契数列、汉诺塔、N皇后

(1)、斐波那契数列问题

T1、利用递归思想算法实现斐波那契数列问题——指数级别O(2^n)

Algorithm:【Algorithm算法进阶之路】之斐波那契数列的简介、常用的解决算法、代码实现、exe程序应用(斐波纳契时钟设计)之详细攻略

(2)、汉诺塔问题的简介

T1、利用递归算法实现汉诺塔问题——O(2^n)

(3)、利用递归算法实现N皇后问题——O(n!)——迁移到回溯算法中

4、分治算法相关的问题:快速排序/归并排序、逆序对、最大公约数

(1)、逆序对问题的简介

T1、利用分治算法实现逆序对问题——O(n log n)

(2)、最大公约数问题的简介

T1、利用分治算法实现最大公约数问题——O(log(n))

☆☆(3)、x 的平方根:二分查找

5、动态规划算法相关的问题—最常考的8道题:最大子序列和、斐波那契数列、爬楼梯、背包、零钱兑换、最长公共子序列、最长回文子串

Algorithm:【算法进阶之路】之算法面试刷题集合—动态规划算法相关—斐波那契数列/背包问题/最短路径/最长公共子序列/整数划分问题/矩阵链乘/字符串的交替连接/格网棋盘/非线性规划、生产计划/资源分配等问题分析及其代码实现

(1)、最大子序列和问题的简介

T1、利用动态规划算法实现最大子序列和问题——线性级别O(n)

(2)、斐波那契数列问题

T1、利用动态规划算法实现斐波那契数列问题——O(n)

Algorithm:【Algorithm算法进阶之路】之斐波那契数列的简介、常用的解决算法、代码实现、exe程序应用(斐波纳契时钟设计)之详细攻略

(3)、爬楼梯问题的简介——本质依旧是斐波那契数列问题

T1、利用动态规划算法实现爬楼梯问题——线性级别O(n)

(4)、背包问题的简介

T1、利用动态规划算法实现背包问题——O(n * capacity)

(5)、零钱兑换问题的简介

T1、利用动态规划算法实现零钱兑换问题—— O( n*amount )

(6)、最长公共子序列问题的简介——1026字节已考

T1、利用动态规划算法实现最长公共子序列问题——O(m * n)

(7)、最长回文子串问题

Algorithm:【Algorithm算法进阶之路】之回文字符串问题多种方法解决(采用中间切片+翻转、直接采用切片翻转、直接采用reversed函数、采用for循环遍历、前后元素逐个对比、采用递)

T1、利用动态规划算法实现最长回文子串问题——O(n^2)

(8)、最短路径问题的简介???

T1、利用动态规划算法实现最短路径问题

6、贪心算法相关的问题:找零钱、最短重排序、饥饿算法(Huffman编码)、最小生成树问题(Kruskal算法、Prim算法、Dijkstra 算法)

(1)、利用贪心算法实现零钱兑换问题—— O(n log n)

(2)、区间调度问题

T1、利用贪心算法实现区间调度问题——O(nlogn)

(3)、分发饼干问题

T1、利用贪心算法实现分发饼干问题——O(nlogn)

(4)、Huffman编码(饥饿算法)问题的简介

T1、利用贪心算法实现Huffman编码(饥饿算法)问题——O(nlogn)

(5)、最小生成树问题(Kruskal算法、Prim算法、Dijkstra 算法)问题的简介

T1、利用贪心算法实现最小生成树问题(Kruskal算法、Prim算法、Dijkstra 算法)问题

(6)、买卖股票的最佳时机:贪心算法

买卖股票的最佳时机Ⅱ:贪心算法


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个处女座的程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值