算法和数据结构
文章平均质量分 82
Kaggler
这个作者很懒,什么都没留下…
展开
-
刷题笔记
各种笔记,太菜了唉/(ㄒoㄒ)/~~Longest Substring Without Repeating Characters求最长不重复子串(不是子序列) Given a string, find the length of the longest substring without repeating characters. Examples: Given “abcabcbb”原创 2017-04-17 18:58:55 · 327 阅读 · 0 评论 -
位运算
位运算的技巧总结。位操作基本概念基本概念如上图。这里重点说明一下,不论左移还是右移,都是右操作数表示移动的位数。操作的都是补码!!!计算机中对数字的表示有三种方式:原码,反码,补码:原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数该位为1。比如十进制3如果用8个二进制位来表示就是 00000011, -3就是 10000011。反码表示方法:正数的反码是其本身;负数的原创 2017-04-18 21:50:46 · 495 阅读 · 0 评论 -
DP-java版本
常见dp问题的java叙述总结。背包问题0-1背包对于0-1背包问题,运用dp的思想可以有两种常见状态转移:认为物品下标从0开始dp[i][j]表示从前i-1个物品选,在重量不超过j的情况下的最大价值。(正向)dp[i][j]表示从第i个物品开始选,在重量不超过j的情况下的最大价值。(反向)状态转移方程分别如下:#初始化dp[0][j]=0if j<w[i]: dp[i+1][j]=原创 2017-05-02 18:46:25 · 2527 阅读 · 0 评论 -
Huffman
霍夫曼编码的实现霍夫曼编码理论概述引用维基百科中的描述如下:霍夫曼编码(英语:Huffman Coding),又译为哈夫曼编码、赫夫曼编码,是一种用于无损数据压缩的熵编码(权编码)算法。由大卫·霍夫曼在1952年发明。在计算机数据处理中,霍夫曼编码使用变长编码表对源符号(如文件中的一个字母)进行编码,其中变长编码表是通过一种评估来源符号出现概率的方法得到的,出现概率高的字母使用较短的编码,反之出现概原创 2017-05-18 15:03:41 · 312 阅读 · 0 评论 -
最短路径
最短路径问题总结。最短路径问题Dijkstra适用于单源点、非负权值的图。基本思想是基于贪心法,执行过程描述如下: 初始化字典dist表示源点到任一顶点的距离。dist[源点]=0,其余INF。然后用一个集合set保存已经被访问的元素。从源点开始,对该顶点所有的出边进行松弛,然后加入到被访问集合中,然后在dist字典中寻找下一个值最小的顶点,依次进行直到所有顶点已经加入被访问集合中。以上是最朴原创 2017-05-18 17:08:53 · 443 阅读 · 0 评论