• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
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 阅读(124) 评论(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 阅读(1119) 评论(1) 推荐(0)
 
图的存储
摘要: 首先要明白,图不仅要存点,还要存边。 图的存储表示有两种,矩阵法和邻接链表法。 矩阵法,是用二维矩阵来存放边信息。点向量,来保存点信息。可用于保存有向图和无向图。 不过无向图会导致冗余出现。 由于我们存放的是简单图,不会有自循环路径。 所以对角线元素均为0。没有路径标记为Integer.Max,其余 阅读全文
posted @ 2017-03-25 08:28 zqiguoshang 阅读(158) 评论(0) 推荐(0)
 
 

2017年3月24日

二叉搜索树
摘要: 二叉搜索树和堆很像,都是递归有序的树结构。插入,删除时也都要调整树的结构。 二叉搜索树定义:根节点比左子树大,右子树比根节点大。如此递归。 二叉搜索树不允许重复元素。 二叉搜索树适用场合:需要快速插入,快速查找,同时要保持有序结构。比如TreeSet就用的红黑树实现。 如果单纯快插,快删,用hash 阅读全文
posted @ 2017-03-24 08:01 zqiguoshang 阅读(164) 评论(0) 推荐(0)
 
 

2017年3月23日

排序
摘要: 综述: 冒泡: 直插: 折半插入: 待续。 阅读全文
posted @ 2017-03-23 09:56 zqiguoshang 阅读(91) 评论(0) 推荐(0)
 
 

2017年3月21日

并查集
摘要: 并查集是集合的一种,它只有两种方法,合并和查找。 合并就是把两个元素所在的集合合并为一个。 查找就是查找某元素所属的集合。 一般并查集用树的父指针数组来存储实现。根节点数组值为负数,负几表示该集合有几个元素。 元素和集合名称对应数组索引。从属关系对应相应数组值。数组值为负数,表示对应索引为树的根,也 阅读全文
posted @ 2017-03-21 10:54 zqiguoshang 阅读(155) 评论(0) 推荐(0)
 
答客难——散列九问(hash table)
摘要: 综述: 散列是一种码位一体化搜索解决方案。 它将元素关键码(key)映射到实际存储位置附近,实现了事实上的分治。搜索复杂度接近O(1)。 只要选择好合适的散列函数和冲突解决办法,散列就快速,高效,优雅。 散列函数以除数留余法最佳,冲突解决方法以开散列法最好。 客:散列背后的思想是什么? 主:其他搜索 阅读全文
posted @ 2017-03-21 10:48 zqiguoshang 阅读(185) 评论(0) 推荐(0)
 
 

2017年3月16日

谈谈Set这件小事
摘要: Set就是集合类型,最常见用操作就是判有判无。 常见的底层实现有位向量实现和有序链表实现。 有序链表很简单,双指针撸到底,这里不详细讲。下面我们谈谈java实现位向量。 不止java,C++中也没有直接的位操作。所以想把整数类型映射到一个bit位上,我们要自己定义操作。 C++比较方便的是有unsi 阅读全文
posted @ 2017-03-16 15:24 zqiguoshang 阅读(170) 评论(0) 推荐(0)
 
 

2017年3月15日

谈谈补码与移位
摘要: 在计算机中整数的表示使用补码来表示的。 什么是补码呢?首先要明白什么是原码。 数字是有符号的,计算机中,用最高位作为符号位。以四位机器码举例:1的原码表示是:0001; -1 的原码表示是:1001。 也就是说表示实际数值的只有3位。因此4位机器码原码表示数的范围是:[-7, 7],其中0有两种表示 阅读全文
posted @ 2017-03-15 11:13 zqiguoshang 阅读(1390) 评论(0) 推荐(0)
 
 

2017年3月14日

树递归算法要点精析
摘要: 树的递归脱不了三种递归遍历的范畴。所以看到树的递归算法,先想清楚是哪种遍历,需要哪种遍历,这可大大降低复杂度。 虽然遍历过程,每个节点会走3遍,但实际访问就一遍。所以在递归结束判断中,最好每层只判断当前节点。 在整层递归中,每一层要把一层的事情做完,然后将结果返回上一层。这样也便于判断正误。 由于递 阅读全文
posted @ 2017-03-14 12:38 zqiguoshang 阅读(251) 评论(0) 推荐(0)
 
 
上一页 1 2 3 4 5 6 7 8 9 ··· 11 下一页

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3