上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 17 下一页
摘要: jdk1.7.0_79 众所周知,Java是一门不用程序员手动管理内存的语言,全靠JVM自动管理内存,既然是自动管理,那必然有一个垃圾内存的回收机制或者回收算法。本文将介绍几种常见的垃圾回收(下文简称GC)算法。 在Java堆上分配一个内存给实例对象时,此时在虚拟机栈上引用型变量就会存放这个实例对象 阅读全文
posted @ 2017-07-13 20:36 OKevin 阅读(23625) 评论(0) 推荐(3)
摘要: jdk1.7.0_79 这张图我相信基本上对JVM有点接触的都应该很熟悉,可以说这是JVM入门的第一课。其中的“堆”和“虚拟机栈(栈)”更是耳熟能详。下面将围绕这张图对JVM的运行时数据区做一个简单介绍。 程序计数器(Program Counter Register) 这和计算机操作系统中的程序计数 阅读全文
posted @ 2017-07-12 00:24 OKevin 阅读(11249) 评论(4) 推荐(2)
摘要: 对于矩阵有一类特殊的矩阵,叫做三角矩阵。 这种矩阵如果还是按照定义一个二维数组来对数值进行存储的话,无疑将消耗掉不必要的空间,所以我们采用压缩存储的方式,将矩阵存储在一位数组中。 对于下三角矩阵,如果按照行优先存储,则{a11, a21, a22, a31, a32, a33, a41, a43,  阅读全文
posted @ 2017-07-07 23:43 OKevin 阅读(1414) 评论(0) 推荐(0)
摘要: 对于一阶线性方程的求解有多种方式,这里将介绍利用高斯消去法解一阶线性方程组。在介绍高斯消去法前需要对《线性代数》做一下温习,同时在代码中对于矩阵的存储做一个简要介绍。 通常遇到矩阵我们会利用二维数组来进行对矩阵数值的存储(例如前几篇中动态规划中对于求解矩阵初始化就是利用二维数组),但在计算机的内存中 阅读全文
posted @ 2017-07-07 22:54 OKevin 阅读(1971) 评论(0) 推荐(0)
摘要: 找零问题:需找零金额为W,硬币面值有(d1, d2, d3,…,dm),最少需要多少枚硬币。 问题:需找零金额为8,硬币面值有(1, 3, 2, 5),最少需要多少枚硬币。 设F(j)表示总金额为j时最少的零钱数,F(0) = 0,W表示找零金额,有零钱一堆{d1, d2, d3,…,dm}。同样根 阅读全文
posted @ 2017-07-05 23:45 OKevin 阅读(1334) 评论(0) 推荐(0)
摘要: 在上一篇《9.动态规划(2)——子集和问题》中,谈到了什么是子集和问题,以及实现。背包问题实际也是子集和问题的一种,不过背包问题不是“判断问题”而是一个“最优问题”。而背包问题实际上又分为“0-1背包”,“完全背包”,本文对“0-1背包”进行讲解。 问题:有n个物品,每个物品的重量为weigh[i] 阅读全文
posted @ 2017-07-03 23:38 OKevin 阅读(4702) 评论(0) 推荐(0)
摘要: 注:因为对“子集和问题”的学习不够深入,所以本文在讲解动态规划递推公式中可能存在叙述不清,或者错误的地方,如有发现望能不吝赐教。 子集和问题可描述如下:给定n个正整数W=(w1, w2, …, wn)和正整数M,要求寻找这样一个子集I⊆{1, 2, 3, ..., n},使得∑wi=M,i∈I[1] 阅读全文
posted @ 2017-07-02 17:28 OKevin 阅读(22860) 评论(6) 推荐(0)
摘要: 动态规划的算法题往往都是各大公司笔试题的常客。在不少算法类的微信公众号中,关于“动态规划”的文章屡见不鲜,都在试图用最浅显易懂的文字来描述讲解动态规划,甚至有的用漫画来解释,认真读每一篇公众号推送的文章实际上都能读得懂,都能对动态规划有一个大概了解。 什么是动态规划?通俗地理解来说,一个问题的解决办 阅读全文
posted @ 2017-06-29 23:41 OKevin 阅读(11644) 评论(0) 推荐(2)
摘要: 哈希(Hash)又称散列,它是一个很常见的算法。在Java的HashMap数据结构中主要就利用了哈希。哈希算法包括了哈希函数和哈希表两部分。我们数组的特性可以知道,可以通过下标快速(O(1))的定位元素,同理在哈希表中我们可以通过键(哈希值)快速的定位某个值,这个哈希值的计算就是通过哈希函数(has 阅读全文
posted @ 2017-06-28 21:44 OKevin 阅读(1077) 评论(0) 推荐(1)
摘要: jdk1.7.0_79 上文里解析了有关ArrayList中的几个常用方法的源码——《有关ArrayList常用方法的源码解析》,本文将对LinkedList的常用方法做简要解析。 LinkedList是基于链表实现的,也就是说它具备了链表的优点和缺点,随机访问慢、插入删除速度快。既然是链表,那么它 阅读全文
posted @ 2017-06-27 21:11 OKevin 阅读(1035) 评论(0) 推荐(0)
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 17 下一页