算法基础学习
文章平均质量分 58
奶茶精Gaaa算法笔记
奶茶精Gaaa
一只奶茶精.. ...
展开
-
算法基础——回溯和N皇后问题
1和diagonals 2分别记录每一列以及两个方向的每条斜线上是否有皇后,每个整数有 N个二进制位。棋盘的每一列对应每个整数的二进制表示中的一个数位,其中棋盘的最左列对应每个整数的最低二进制位,最右列对应每个整数的最高二进制位。2.要求一行只能一个皇后,一列只能一个皇后,两条对角线也只能放一个皇后。1.往一个n*n的棋盘里面放入n个皇后。3.N个皇后放置完毕,找到一个可能的解。算法基础——回溯和N皇后问题。例如8皇后的放置方法92种。3.求皇后的放置有多少种。原创 2024-01-16 00:25:38 · 395 阅读 · 0 评论 -
算法基础——最短路径
【代码】算法基础——最短路径。原创 2023-11-02 15:35:55 · 88 阅读 · 0 评论 -
算法基础——快速排序
快速排序是一种常用的排序算法,其基本思想是通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,然后再按此方法对这两部分记录分别进行快速排序,以达到整个序列有序的目的。快速排序是一种常用的排序算法,其基本思想是通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,然后再按此方法对这两部分记录分别进行快速排序,以达到整个序列有序的目的。第一趟结束后,以P为中间轴,观察序列,右边序列长度为1,对左边序列进行第二趟快速排序。原创 2023-11-02 01:56:34 · 66 阅读 · 0 评论 -
算法基础——动态规划和01背包问题
其中,01背包问题的一维和二维写法只差了一个遍历的顺序,01背包使用逆序遍历,完全背包使用顺序遍历。在解决01背包问题时,需要注意背包的容量和物品的重量,以及物品的价值。01背包问题的时间复杂度为O(NW),其中N为物品数量,W为背包容量。这是因为在求解过程中,需要对每个物品进行一次判断,对于每个物品,需要遍历一遍背包容量,因此总时间复杂度为O(NW)。01背包问题的空间复杂度为O(W),因为在求解过程中,只需要维护一个一维数组来存储当前背包容量下的最大价值,因此空间复杂度为O(W)。for w = W…原创 2023-11-01 17:27:14 · 216 阅读 · 0 评论 -
算法学习——b站北京大学屈婉玲教授(完)
输入规模:输入串编码长度,通常用下述参数度量:数组元素多少,调度问题的任务个数,图的顶点数与边数等。算法基本运算次数可表示为输入规模的函数,给定问题和基本运算就决定了一个算法类。2.算法A解决问题P:把问题P的任何实例作为算法A的输入。算法时间复杂度:针对指定基本运算,计数算法所做的运算次数。基本运算:比较,加法,乘法,置指针,交换…说明问题的每个参数的取值范围以及参数间的关系。定义问题参数(集合,变量,函数,序列等)检索:被检索的元素x与数组元素的比较。平均情况下的平均复杂度A(n)原创 2023-10-08 21:41:39 · 535 阅读 · 0 评论 -
算法基础——动态规划和买卖股票最佳时机问题
编辑时间2023/10/19。原创 2023-10-19 01:58:18 · 80 阅读 · 1 评论 -
算法基础——哈夫曼树和单词编码问题
请使用二进制字符串对单词 mississippi (提示:该单词中字母m出现了1次,字母s和i各出现了4次,字母p出现2次,所以题目也可以写作 { ‘m’: 1, ‘s’: 4, ‘i’: 4, ‘p’: 2 } )进行编码,要求编码的长度尽可能短。哈夫曼编码是一种可变长度编码方法,它可以根据字符的出现频率动态地调整编码长度,使得出现频率高的字符编码更短,从而减少了总的编码长度。请使用构建出的编码表对单词进行编码,同样写出编码结果及编码长度,然后与第1步的结果进行比较。原创 2023-10-26 03:02:28 · 194 阅读 · 0 评论 -
算法基础——动态规划和打家劫舍问题
力扣题目【198】目标:每个房屋有对应的值,求能够偷窃到的最高累计金额。约束条件:单排排列的房屋;相邻的房屋不能偷取。递归加创建备忘录的动态规划方法。由于相邻的房子不能偷取故房子的解题思路如下表所示:我们可以将原问题划分为子问题,可以发现无论前几项的选择是什么在最后的选择里,第n项、第n-1项和第n-2项存在关系。若用递归函数的方法,如下代码所示备忘录方法。原创 2023-10-10 14:53:07 · 190 阅读 · 1 评论 -
算法基础——分治法和棋盘覆盖问题
将一个规模为n的大问题分割成k个子问题,原问题和子问题有相互独立性,其中n>=k>1。一般来说,分治算法在每一层递归上的都有3个步骤。原创 2023-09-29 10:03:41 · 399 阅读 · 1 评论 -
算法基础——分治法和二叉查找,旋转排序数组
编辑时间:2023/9/21整数数组 nums 按升序排列,数组中的值 互不相同 。在传递给函数之前,nums 在预先未知的某个下标 k(0原创 2023-09-21 16:01:03 · 111 阅读 · 1 评论 -
算法基础——递归和汉诺塔问题
为帮助您在CSDN创作的文章获得更多曝光和关注,我们为您提供了专属福利:已注册且未在CSDN平台发布过文章的用户,9月1日—9月30日期间发布首篇文章可享大额首篇流量券扶持,且发布首篇文章后30日内,享连续每日流量券扶持;已注册且未在CSDN平台发布过文章的用户,在8月1日—8月30日期间发布过首篇,可自9月1日起,享连续30天每日流量券扶持;更多福利介绍详见https://mp.csdn.net/mp_blog/manage/traffic如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇原创 2023-09-15 00:29:15 · 274 阅读 · 0 评论