1.1.1.4 数据结构与算法
文章平均质量分 70
ajian005
这个作者很懒,什么都没留下…
展开
-
数据结构和算法模式
LeetCode Cookbook序 | LeetCode Cookbook在知乎上看到一篇介绍编程模式的文章,觉得挺不错就学习一下。原文译文在这里 https://www.jiqizhixin.com/articles/2019-06-12-11英文原文没有找到,像是给一门课程《Grokking the Coding Interview: Patterns for Coding Questions》打广告。如果上过刘宇波的算法课、看过剑指offer那么对下面说到的不会太陌生,但有一些基本的操..原创 2022-05-12 19:02:32 · 145 阅读 · 0 评论 -
Java语言的工具包-瑞士军刀系列
1 Java自带rt.jar中的javautil: concurrent并发包 function函数包 other其它2 Google的Guava包: http://ifeve.com/google-guava/ https://github.com/google/guava Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如: 集合 [collections] 、缓存 [caching] 、...原创 2021-09-09 14:01:37 · 311 阅读 · 0 评论 -
java二维码原理以及用java实现的二维码的生成、解码(转)
http://blog.csdn.net/songylwq/article/details/8643948http://sjsky.iteye.com/blog/1136934http://bbs.csdn.net/topics/390398702http://blog.csdn.net/johnsuna/article/details/8525038转载 2020-09-14 11:48:48 · 247 阅读 · 0 评论 -
操作系统内存管理——分区、页式、段式、段页式管理
1. 内存管理方法 内存管理主要包括虚地址、地址变换、内存分配和回收、内存扩充、内存共享和保护等功能。 2. 连续分配存储管理方式 连续分配是指为一个用户程序分配连续的内存空间。连续分配有单一连续存储管理和分区式储管理两种方式。2.1 单一连续存储管理 在这种管理方式中,内存被分为两个区域:系统区和用户区。应用程序装入到用户区,可转载 2014-01-13 22:19:42 · 5406 阅读 · 0 评论 -
关于随机数权重的实现
一、问题定义:问下有一个数组,这些数组中的值都有自己的权重,怎样设计才能高效的优先取出权重高的数??例如:如 权重: 8 2 11 79 权重返回的值: 0 1 2 3二、分析问题:思路一:创建一个数组数组大小为权重和的大小,如值0的权重是8,则放入8个0值,值1的权重是2,则放入2个1值,依原创 2014-02-16 22:40:25 · 9817 阅读 · 5 评论 -
java.lang包之String,StringBuffer,StringBuilder分析(设个坑,有时间补充)
参考:【总结】String in Java : http://hxraid.iteye.com/blog/522167原创 2014-03-05 10:27:15 · 1194 阅读 · 0 评论 -
0 开场白元素项类的设计
开场白:很长时间以来一直想把以前所学习的一些基本算法整理一遍,最近准备利用周末的时间在博客园写一个算法系列,留作记录以备将来查看。首先从“元素项类” 谈起。所有源代码在google code上http://code.google.com/p/algolib-java/ 下载或者直接猛击:/Files/luweiseu/Source_codes.rar转载地址:http://ww转载 2012-11-08 13:54:50 · 755 阅读 · 0 评论 -
地图索引 R-tree
http://blog.csdn.net/v_JULY_v/article/details/6530142984年,加州大学伯克利分校的Guttman发表了一篇题为“R-trees: a dynamic index structure for spatial searching”的论文,向世人介绍了R树这种处理高维空间存储问题的数据结构。本文便是基于这篇论文写作完成的,因此如果大家对R树非常有转载 2015-08-28 12:37:52 · 1218 阅读 · 0 评论 -
常见多媒体(音频、视频、图片)编解码
参考资料:音视频图片解码库原创 2014-06-05 22:38:05 · 1898 阅读 · 0 评论 -
Java Collections Framework之Stack源码分析缺陷,栈改进版(通过LinkedList实现)(基于JDK1.6)
栈是重要的数据结构,从数据结构角度看,栈也是线性表,其特殊性在栈的基本操作是线性表的子集。Stack作为最基本的数据结构,在JDK代码中,也有它的实现,java.util.Stack类是继承了Vector类,来实现了栈的基本功能。1.栈的基本原理栈(Stack)是限定仅在表尾进行插入或者删除操作的线性表。因此,对于栈来说,表尾端有特殊含义,成为栈顶,表头称之为栈底。由下图可以看出,栈的原创 2014-01-15 21:58:46 · 1836 阅读 · 0 评论 -
Java collections framework(Java容器框架)(基于维基百科补充)
Java collections frameworkFrom Wikipedia, the free encyclopediaJump to: navigation, searchclass- and interface hierarchy of java.util.MapThe Java collections framework (JCF)原创 2014-01-14 13:58:18 · 2532 阅读 · 0 评论 -
Java Collections Framework之LinkedHashMap源码分析(基于JDK1.6)(??)
注:应用于Cache时,可以重写 removeEldestEntry(Map.Entry) 方法来实施策略,以便在将新映射关系添加到映射时自动移除旧的映射关系。 LinkedHashMap类似于HashMap,但是迭代遍历它时,取得“键值对”的顺序是插入次序,或者是最近最少使用(LRU)的次序。只比HashMap慢一点;而在迭代访问时反而更快,因为它使用链表维护内部次序(HashMap转载 2014-01-16 15:39:09 · 1129 阅读 · 0 评论 -
Java Collections Framework之Arrays(method:sort(),binarySearch(),copyOf())部分源码分析(基于JDK1.6)
常见算法时间复杂度O(1): 表示算法的运行时间为常量O(n): 表示该算法是线性算法O(㏒2 n):二分查找算法O(n㏒2 n):快排,合并排序O(n2 ):对数组进行排序的各种简单算法,例如直接插入排序的算法。O(n3 ):做两个n阶矩阵的乘法运算O(2n ):求具有n个元素集合的所有子集的算法O(n!): 求具有N个元素的全排列的算法优O(1)2 n)原创 2014-01-16 16:56:54 · 1326 阅读 · 0 评论 -
Java Collections Framework之Deque(LinkedList实现)源码分析(基于JDK1.6)(已补充)
deque 是“double ended queue(双端队列)”的缩写,通常读为“deck”双端队列就是一个两端都是结尾的队列。队列的每一瑞都可以插入数据项和移除数据项。这些方法可以叫作insertLeft()和insertRight(),以及removeLeft()和removeRight()。如果严格禁止调用insertLeft()和removeLeft()方法(或禁用右段的操作),原创 2014-01-16 10:53:18 · 1109 阅读 · 0 评论 -
Java Collections Framework之Collections源码分析(基于JDK1.6)
Collections类功能:1.算法,比如排序(sort),二分查找(binarySerach),最大值(max)最小值(min),翻转(reverse),旋转(rotate),置换(shuffle),交换(swap)等。 2.提供对集合进行包装的静态方法。比如把指定的集合包装成线程安全的集合synchronizedXXX、包装成不可修改的集合unmodifiableXXX、包装成类型安原创 2014-01-16 17:40:07 · 1432 阅读 · 0 评论 -
Java Collections Framework之LinkedList源码分析(基于JDK1.6)
LinkedList 或 ArrayList结构改变包括:向ArrayList添加、删除元素,或者明确的手动修改数组大小。如果仅仅是给一个元素赋值,不属于结构的改变。 结构改变引起的问题: 可能导致Iterator报ConcurrentModificationException异常。 注意:当ArrayList使用了iterator()方法产生自身对应的Iterato转载 2014-01-15 17:22:24 · 1082 阅读 · 0 评论 -
Java Collections Framework之Queue(LinkedList实现)源码分析(基于JDK1.6)
Queue接口与List、Set同一级别,都是继承了Collection接口。LinkedList实现了Queue接口。Queue接口窄化了对LinkedList的方法的访问权限(即在方法中的参数类型如果是Queue时,就完全只能访问Queue接口所定义的方法了,而不能直接访问 LinkedList的非Queue的方法),以使得只有恰当的方法才可以使用。BlockingQueue继承了Queue接原创 2014-01-15 22:42:38 · 1186 阅读 · 0 评论 -
计算机视觉领域的一些牛人博客,超有实力的研究机构等的网站链接
交通人脸识别图像处理微软生物 提示:本文为笔者原创,转载请注明出处:blog.csdn.net/carson2005 以下链接是本人整理的关于计算机视觉(ComputerVision, CV)相关领域的网站链接,其中有CV牛人的主页,CV研究小组的主页,CV领域的paper,代码,CV领域的最新动态,国内的应用情况等等。打算从事这个行业或者刚入门的朋友可以多转载 2013-07-15 20:01:02 · 4724 阅读 · 0 评论 -
统治世界的十大算法
软件正在统治世界。而软件的核心则是算法。算法千千万万,又有哪些算法属于“皇冠上的珍珠”呢?Marcos Otero 给出了他的看法。什么是算法?通俗而言,算法是一个定义明确的计算过程,可以一些值或一组值作为输入并产生一些值或一组值作为输出。因此算法就是将输入转为输出的一系列计算步骤。—Thomas H. Cormen,Chales E. Leiserson,算法入门第三版简转载 2014-11-21 20:23:54 · 934 阅读 · 0 评论 -
人工智能和机器学习(深度学习)链接(了解补充)
参考:Michael I. Jordan http://www.cs.berkeley.edu/~jordan/ Andrew Ng的博导Andrew Ng https://www.coursera.org/ 百度机器学习首席科学家Tom M. Mitchell http://www.cs.cmu.edu/~tom/ 《机器学习》作者计算机视觉领域的一...原创 2014-12-19 14:46:26 · 1132 阅读 · 0 评论 -
Java concurrent Framework并发容器之ConcurrentHashMap(JDK5,6,7,8)源码分析&ConcurrentSkipListMap
ConcurrentHashMapConcurrentHashMap是一个线程安全的Hash Table,它的主要功能是提供了一组和HashTable功能相同但是线程安全的方法。ConcurrentHashMap可以做到读取数据不加锁,并且其内部的结构可以让其在进行写操作的时候能够将锁的粒度保持地尽量地小,不用对整个ConcurrentHashMap加锁。ConcurrentHashMap转载 2014-01-29 15:27:59 · 1273 阅读 · 0 评论 -
The j.u.c Synchronizer Framework翻译
Java concurrent Framework concurrent.lock并发之AbstractQueuedSynchronizer源码分析 (先设个坑,研读源码后补充)转载 2014-03-02 10:28:21 · 1537 阅读 · 0 评论 -
程序员面试、算法研究、编程艺术、红黑树、数据挖掘5大系列集锦
程序员面试、算法研究、编程艺术、红黑树、数据挖掘5大经典原创系列集锦与总结作者:July--结构之法算法之道blog之博主。时间:2010年10月-2012年9月 (一直在收录本blog最新updated文章)。出处:http://blog.csdn.net/v_JULY_v 。声明:版权所有,侵犯必究。 前言 开博已过20个月,回首这20个月,发现自己在本b转载 2012-11-11 21:15:17 · 2304 阅读 · 0 评论 -
堆内内存(in heap cache/memory)还是堆外内存(off heap cache/memory)
堆内内存(in heap cache/memory)还是堆外内存(off heap cache/memory)? 没有GC的map OpenHFT公司提供三个开源库:Chronicle Queue、Chronicle Map和Thread Affinity,这些库可以帮助开发人员使用堆外内存来保存数据。采用堆外内存有很多好处,同时也带来挑战 堆内内存(in h原创 2016-12-01 17:40:26 · 3677 阅读 · 0 评论 -
优先队列三大利器——二项堆、斐波那契堆、Pairing 堆
http://dsqiu.iteye.com/blog/1714961好吧,虽然昨晚心情一直没有平复,但是总归还是要写,还是要学习。这篇博文主要介绍二项堆、斐波那契堆、Pairing 堆,都知道只要这三个结构应用实现优先队列的,讲解还是比较详细,参考了很多资料,尤其是Pairing堆很少有讲解,但还是力所能及的写了,虽然可能正确很难保证,其次就是斐波那契堆我对于减小一个关键转载 2016-11-17 10:05:42 · 17367 阅读 · 3 评论 -
什么是高速缓存参数无关算法?
什么是高速缓存参数无关算法? http://cs.tju.edu.cn/faculty/zhangkl/aboutme/aboutcoa.pdf算法导论 视频 http://www.cpscp.cn/kczx/gkk/gjmxgkk/2015-05-28/a804996.shtml转载 2016-10-26 15:07:42 · 2663 阅读 · 0 评论 -
Java Collections Framework之TreeMap源码分析(基于JDK1.6)
红黑树数据结构简介红黑树是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组。它是在1972年由鲁道夫·贝尔发明的,他称之为"对称二叉B树",它现代的名字是在 Leo J. Guibas 和 Robert Sedgewick 于1978年写的一篇论文中获得的。它是复杂的,但它的操作有着良好的最坏情况运行时间,并且在实践中是高效的: 它可以在O(l原创 2014-01-15 09:44:46 · 1433 阅读 · 0 评论 -
JDK容器并发IO经典blog
JDK 并发容器经典: https://my.oschina.net/hosee/blog/614319转载 2016-11-03 21:04:29 · 1155 阅读 · 0 评论 -
StuQ 技能图谱(全套13张)
程序开发语言综述.jpg前端工程师必备技能.jpg大数据工程师必备技能.jpg安全工程师必备技能.jpg嵌入式开发必备技能.jpgiOS开发工程师必备技能.jpg移动无线测试工程师必备技能.jpg云计算工程师必备技能.jpg微服务架构技能图谱.jp转载 2016-04-21 14:37:47 · 31349 阅读 · 3 评论 -
算法思想系列--分治策略(Divide-Conquer-Combine)(待补充)
算法思想系列--分治策略(Divide-Conquer-Combine) 分治策略(Divide-Conquer-Combine), 随机算法(Randomized Algorithms) 动态规划(Dynamic Programming), 贪心算法(Greedy Algorithms),摊还分析(Amortized Analysis),NP完全性(NP-Completeness),近似原创 2016-05-29 16:51:42 · 1828 阅读 · 0 评论 -
推荐引擎相关
“探索推荐引擎内部的秘密”系列将带领读者从浅入深的学习探索推荐引擎的机制,实现方法,其中还涉及一些基本的优化方法,例如聚类和分类的应用。同时在理论讲解的基础上,还会结合 Apache Mahout 介绍如何在大规模数据上实现各种推荐策略,进行策略优化,构建高效的推荐引擎的方法。本文作为这个系列的第一篇文章,将深入介绍推荐引擎的工作原理,和其中涉及的各种推荐机制,以及它们各自的优缺点和适用场景,帮助转载 2016-03-11 12:17:25 · 1615 阅读 · 0 评论 -
推荐系统相关
推荐: 定位你的偏爱,然后引导你去选择符合你个人的愿望与需要的产品 距离,相似(性)度 协同过滤(collaborative filtering)与基于内容(content-based)的推荐引擎相似性(度)算法算法定义皮尔逊相关系数两个序列协方差与二者标准差乘积的比原创 2015-11-06 15:43:06 · 873 阅读 · 0 评论 -
Bloom Filter概念和原理 & 从哈希存储到Bloom Filter
注: Bloom Filter 系列 : http://blog.csdn.net/jiaomengBloom Filter概念和原理焦萌 2007年1月27日 Bloom Filter是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。Bloom Filter的这种高效是有一定代价的:在判断一个元素是否属于转载 2014-04-02 10:09:24 · 1186 阅读 · 0 评论 -
Java Collections Framework之HashSet及LinkedHashSet源码分析(基于JDK1.6)
Java容器类的用途是“保存对象”,分为两类:Map——存储“键值对”组成的对象;Collection——存储独立元素。Collection又可以分为List和Set两大块。List保持元素的顺序,而Set不能有重复的元素。 本文分析Set中最常用的HashSet类,并简单介绍和对比LinkedHashSet。 首先对Set接口进行简要的说明。 存入Set的每转载 2014-01-15 17:51:27 · 1300 阅读 · 0 评论 -
Java Collections Framework之ArrayList源码分析(基于JDK1.6)
该类是JDK1.2中添加的类,可用于替代Vector(1.1中包含的类库) 其内部持有的也是一个数组。Hierarchy的结构如下: 该类并非线程安全的,主要含有两个字段: elementData:内部持有的数组 size:ArrayList的长度 构造函数如下: 利用该参数初始化该数组。将数组的大小设置为10,为该数组分配内存空转载 2014-01-14 18:17:51 · 1097 阅读 · 0 评论 -
Java Collections Framework之HashMap源码分析(基于JDK1.6)
在Java集合类中最常用的除了ArrayList外,就是HashMap了。本文尽自己所能,尽量详细的解释HashMap的源码。一山还有一山高,有不足之处请之处,定感谢指定并及时修正。 在看HashMap源码之前先复习一下数据结构。 Java最基本的数据结构有数组和链表。数组的特点是空间连续(大小固定)、寻址迅速,但是插入和删除时需要移动元素,所以查询快,增加删除慢。链表恰好相反,转载 2014-01-14 22:46:40 · 1518 阅读 · 0 评论 -
6.2 拓扑排序
拓扑排序在许多应用中,有向无回路图可用于抽象具有发生先后顺序的事件,图的搜索算法可以用于解决具有先决条件的问题。假设我们要安排一系列任务,但是只有在某个任务的先决条件具备时才能着手完成这个任务。我们希望以某种先后顺序组织这些任务,以便每项任务都是在先决条件已完成的前提下逐个完成。因为任务之间存在先决条件限制,也就是顶点之间存在方向性,所以这一类问题可以用有向无环图(DAG)来描述。如图给出转载 2012-11-08 15:03:00 · 831 阅读 · 0 评论 -
4 堆
堆的概念 堆上的算法堆的打印CPU优先级抢占模型 堆是一种数组对象,与之前几章所讨论的内容稍有不同的是,堆中的元素项具有特殊的顺序结构。在本书后面将介绍树数据结构,事实上堆属于一种特殊的树,即完全二叉树。完全二叉树中除了最后一层之外树的每一层都填满。之所以将堆数据结构提前介绍,一方面是因为堆也是一种基本的数据结构。另一方面,堆的一个重要功能是能实现优先队列。上一转载 2012-11-08 14:37:01 · 1041 阅读 · 0 评论 -
7. 网络流算法--Ford-Fulkerson方法及其多种实现
网络流在上一章中我们讨论的主题是图中顶点之间的最短路径,例如公路地图上两地点之间的最短路径,所以我们将公路地图抽象为有向带权图。本章我们将对基于有向带权图的模型做进一步扩展。很多系统中涉及流量问题,例如公路系统中车流量,网络中的数据信息流,供油管道的油流量等。我们可以将有向图进一步理解为“流网络”(flow network),并利用这样的抽象模型求解有关流量的问题。 图转载 2012-11-08 15:12:23 · 1219 阅读 · 0 评论 -
5.1 二叉树
二叉树 前序遍历(递归及递推算法)后续遍历(递归及递推算法)中序遍历(递归及递推算法)层序遍历霍夫曼编码深入研究 上面两节内容中,我们讨论了广义树的两种实现方法,及“子节点表”和“最左子节点/右兄弟节点”法。这两种方法所实现的树是多叉树,适用于描述任意的树形结构。本节内容中我们将讨论一种特殊的树,即二叉树。与广义树相比,二叉树具有特定的结构,包括内外节点转载 2012-11-08 14:48:20 · 1126 阅读 · 0 评论