数据结构与算法
wwwsctvcom
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
最大堆最小堆的理解
#堆排序 def heapify(s, head_idx, size): max_idx = head_idx left = head_idx * 2 + 1 right = head_idx * 2 + 2 if left < size and s[left] > s[max_idx]: max_idx = left i...原创 2019-08-24 11:29:57 · 297 阅读 · 0 评论 -
(转发)top_K问题的基本方法
问题描述: 从arr[1, n]这n个数中,找出最大的k个数,这就是经典的TopK问题。 栗子: 从arr[1, 12]={5,3,7,1,8,2,9,4,7,2,6,6} 这n=12个数中,找出最大的k=5个。 一、排序 排序是最容易想到的方法,将n个数排序之后,取出最大的k个,即为所得。 伪代码: sort(arr, 1, n); return arr[1, k]; 时间...转载 2019-08-12 17:34:25 · 225 阅读 · 0 评论 -
01背包算法的理解
一、问题描述: 有编号分别为a,b,c,d,e的N=5件物品,它们的重量w分别是2,2,6,5,4,它们的价值v分别是6,3,5,4,6,每件物品数量只有一个,现在给你个承重为M=10的背包,如何让背包里装入的物品具有最大的价值 二、原理: 动态规划表 三、代码实现: n, c = 5, 10 w = [2, 2, 6, 5, 4] v = [6, 3, 5, 4, 6] dp ...原创 2019-08-23 10:58:09 · 375 阅读 · 0 评论 -
并查集的理解与java实现
参考博客:https://www.cnblogs.com/SeaSky0606/p/4752941.html package practice; import java.util.Scanner; public class unionfind { int count; int[] id; public unionfind(int N) { count = N; id = new...原创 2019-09-08 21:57:46 · 224 阅读 · 0 评论 -
图类问题的基本理解和java实现
一、图的构建 参考地址:https://www.jianshu.com/p/f2a635b7b95e 1.1、图的基本结构 1.2、无权无向图: import java.util.*; public class graph { private int V; private int E; private List<Integer>[] adj; private i...原创 2019-09-12 19:50:57 · 280 阅读 · 0 评论 -
字典树(Trie)
一、概述 1、基本概念 字典树,又称为单词查找树,Tire数,是一种树形结构,它是一种哈希树的变种。 2、基本性质 根节点不包含字符,除根节点外的每一个子节点都包含一个字符 从根节点到某一节点。路径上经过的字符连接起来,就是该节点对应的字符串 每个节点的所有子节点包含的字符都不相同 3、应用场景 典型应用是用于统计,排序和保存大量的字符串(不仅限于字符串)...原创 2019-09-12 21:54:45 · 277 阅读 · 0 评论
分享