![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法题
光哥2020
这个作者很懒,什么都没留下…
展开
-
DP算法题收集汇总
三种基本背包问题一 0/1背包问题问题描述:有n件物品和容量为m的背包 给出i件物品的重量以及价值求解让装入背包的物品重量不超过背包容量 且价值最大 。特点:<br1.这是最简单的背包问题,特点是每个物品只有一件供你选择放还是不放。① 二维解法设f[i][j]表示前 i 件物品 总重量不超过 j 的最大价值 可得出状态转移方程f[i][j]=max{f[i-1][j-a[i]]+b[i], f[i-1][j]}代码:for(int i=1;i<=n;i++)原创 2021-03-02 19:48:01 · 841 阅读 · 0 评论 -
二叉树算法题
package codeimport ( "fmt" "math")//无实际意义、讲其他操作绑定到一起而已type BinaryTree struct {}//前序遍历//前序遍历的顺序是 根 -----> 左子树 -----> 右子树//中序遍历//中序遍历的顺序是 左子树 -----> 根 ------> 右子树//后序遍历//后序遍历的顺序是 左子树 -----> 右子树 -----> 根type TreeNode str.转载 2021-03-02 19:45:39 · 115 阅读 · 0 评论 -
排序算法题
package codefunc BinSearch(nums []int, target int) int { left := 0 right := len(nums) - 1 for left <= right { mid := (right + left) / 2 switch { case nums[mid] == target: return mid case nums[mid] > target: right = mid - 1 case .原创 2021-03-02 19:41:53 · 96 阅读 · 0 评论 -
链表算法题
package codeimport ( "fmt")/* 链表的结构*/type ListNode struct { Val int Len int Next *ListNode}/* 输出链表*/func PrintLink(p *ListNode) { for p != nil { fmt.Printf("%d->",p.Val) p = p.Next } fmt.Printf("nil \n")}/**数组转链表构造链表.原创 2021-03-02 19:39:41 · 101 阅读 · 0 评论 -
最小顶堆算法题
最小顶堆算法题,package code/*最大堆进行升序排序的基本思想:① 初始化堆:将数列a[1...n]构造成最大堆。② 交换数据:将a[1]和a[n]交换,使a[n]是a[1...n]中的最大值;然后将a[1...n-1]重新调整为最大堆。接着,将a[1]和a[n-1]交换,使a[n-1]是a[1...n-1]中的最大值;然后将a[1...n-2]重新调整为最大值。依次类推,直到整个数列都是有序的。下面j,通过图文来解析堆排序的实现过程。注意实现中用到了"数组实现的二叉堆的原创 2021-03-02 19:38:26 · 239 阅读 · 0 评论