会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
zqiguoshang
博客园
|
首页
|
新随笔
|
新文章
|
联系
|
订阅
|
管理
上一页
1
2
3
4
5
6
7
8
9
···
11
下一页
2017年3月27日
单例模式
摘要: 众所周知(也许有些人不知道),编译器以及CPU会在不影响串行结果的情况下对代码进行重排序,以便加快执行速度。(比如超标量流水线技术) 这在并发执行中会造成一些问题。以单例模式的DCL写法举例: public class Singleton{ private Singleton(){}; public
阅读全文
posted @ 2017-03-27 20:42 zqiguoshang
阅读(120)
评论(0)
推荐(0)
编辑
2017年3月25日
2017网易实习生笔试-矩阵n次方快速求解算法(平方指数法 exponentiation by squaring)
摘要: 矩阵n次方存在普遍快速求解算法。(特殊矩阵利用线性代数有快速求解法,这里不讨论特殊矩阵,讨论的是普通矩阵的普适算法)。 想明白矩阵n次方的快速求解算法就得先明白数n次方的快速求解算法。 假设,我们要求$x^n$, 那问题可以分解为以下两种情况: 如果n是偶数, $(x^2)^{(n/2)}$ 如果n
阅读全文
posted @ 2017-03-25 23:11 zqiguoshang
阅读(1055)
评论(1)
推荐(0)
编辑
图的存储
摘要: 首先要明白,图不仅要存点,还要存边。 图的存储表示有两种,矩阵法和邻接链表法。 矩阵法,是用二维矩阵来存放边信息。点向量,来保存点信息。可用于保存有向图和无向图。 不过无向图会导致冗余出现。 由于我们存放的是简单图,不会有自循环路径。 所以对角线元素均为0。没有路径标记为Integer.Max,其余
阅读全文
posted @ 2017-03-25 08:28 zqiguoshang
阅读(149)
评论(0)
推荐(0)
编辑
2017年3月24日
二叉搜索树
摘要: 二叉搜索树和堆很像,都是递归有序的树结构。插入,删除时也都要调整树的结构。 二叉搜索树定义:根节点比左子树大,右子树比根节点大。如此递归。 二叉搜索树不允许重复元素。 二叉搜索树适用场合:需要快速插入,快速查找,同时要保持有序结构。比如TreeSet就用的红黑树实现。 如果单纯快插,快删,用hash
阅读全文
posted @ 2017-03-24 08:01 zqiguoshang
阅读(155)
评论(0)
推荐(0)
编辑
2017年3月23日
排序
摘要: 综述: 冒泡: 直插: 折半插入: 待续。
阅读全文
posted @ 2017-03-23 09:56 zqiguoshang
阅读(86)
评论(0)
推荐(0)
编辑
2017年3月21日
并查集
摘要: 并查集是集合的一种,它只有两种方法,合并和查找。 合并就是把两个元素所在的集合合并为一个。 查找就是查找某元素所属的集合。 一般并查集用树的父指针数组来存储实现。根节点数组值为负数,负几表示该集合有几个元素。 元素和集合名称对应数组索引。从属关系对应相应数组值。数组值为负数,表示对应索引为树的根,也
阅读全文
posted @ 2017-03-21 10:54 zqiguoshang
阅读(148)
评论(0)
推荐(0)
编辑
答客难——散列九问(hash table)
摘要: 综述: 散列是一种码位一体化搜索解决方案。 它将元素关键码(key)映射到实际存储位置附近,实现了事实上的分治。搜索复杂度接近O(1)。 只要选择好合适的散列函数和冲突解决办法,散列就快速,高效,优雅。 散列函数以除数留余法最佳,冲突解决方法以开散列法最好。 客:散列背后的思想是什么? 主:其他搜索
阅读全文
posted @ 2017-03-21 10:48 zqiguoshang
阅读(170)
评论(0)
推荐(0)
编辑
2017年3月16日
谈谈Set这件小事
摘要: Set就是集合类型,最常见用操作就是判有判无。 常见的底层实现有位向量实现和有序链表实现。 有序链表很简单,双指针撸到底,这里不详细讲。下面我们谈谈java实现位向量。 不止java,C++中也没有直接的位操作。所以想把整数类型映射到一个bit位上,我们要自己定义操作。 C++比较方便的是有unsi
阅读全文
posted @ 2017-03-16 15:24 zqiguoshang
阅读(164)
评论(0)
推荐(0)
编辑
2017年3月15日
谈谈补码与移位
摘要: 在计算机中整数的表示使用补码来表示的。 什么是补码呢?首先要明白什么是原码。 数字是有符号的,计算机中,用最高位作为符号位。以四位机器码举例:1的原码表示是:0001; -1 的原码表示是:1001。 也就是说表示实际数值的只有3位。因此4位机器码原码表示数的范围是:[-7, 7],其中0有两种表示
阅读全文
posted @ 2017-03-15 11:13 zqiguoshang
阅读(1322)
评论(0)
推荐(0)
编辑
2017年3月14日
树递归算法要点精析
摘要: 树的递归脱不了三种递归遍历的范畴。所以看到树的递归算法,先想清楚是哪种遍历,需要哪种遍历,这可大大降低复杂度。 虽然遍历过程,每个节点会走3遍,但实际访问就一遍。所以在递归结束判断中,最好每层只判断当前节点。 在整层递归中,每一层要把一层的事情做完,然后将结果返回上一层。这样也便于判断正误。 由于递
阅读全文
posted @ 2017-03-14 12:38 zqiguoshang
阅读(239)
评论(0)
推荐(0)
编辑
上一页
1
2
3
4
5
6
7
8
9
···
11
下一页