
算法数据结构
kjfcpua
这个作者很懒,什么都没留下…
展开
-
选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,而冒泡排序、插入排序、归并排序和基数排序
这几天笔试了好几次了,连续碰到一个关于常见排序算法稳定性判别的问题,往往还是多选,对于我以及和我一样拿不准的同学可不是一个能轻易下结论的题目,当然如果你笔试之前已经记住了数据结构书上哪些是稳定的,哪些不是稳定的,做起来应该可以轻松搞定。本文是针对老是记不住这个或者想真正明白到底为什么是稳定或者不稳定的人准备的。 首先,排序算法的稳定性大家应该都知道,通俗地讲就是能保证排序前2个相转载 2013-10-18 15:03:06 · 1417 阅读 · 0 评论 -
现代编程语言用什么语言写成?
对于脚本型语言通常是c写的,包括解析器(编译器和执行器)和大部分基础的标准库(比较高阶的库才会用本语言写)。从这个意义上来说,脚本语言只是c的wrapper,正因为如此,所以才会有人喊python的sort居然比go快之类的说法,其实就算是python的sort快,那也只证明了c比go快。但也有一些语言的解析器用c++写(比如V8)。 对于编译型语言,通常编译器也是c写的(但编译器对性能要求转载 2014-01-22 17:43:11 · 1837 阅读 · 0 评论 -
负数在计算机中的表示
今天,老大让我调查一个浮点数转换为整数的问题。自己就查了些资料,顺便复习一下原码、反码和补码。 原码:将一个整数,转换成二进制,就是其原码。如单字节的5的原码为:0000 0101;-5的原码为1000 0101。 反码:正数的反码就是其原码;负数的反码是将原码中,除符号位以外,每一位取反。如单字节的5的反码为:0000 0101;-5的原码为1111 1010。 补码转载 2014-01-17 17:25:32 · 1186 阅读 · 0 评论 -
位操作基础篇之位操作全面总结
Title: 位操作基础篇之位操作全面总结 Author: MoreWindows E-mail: morewindows@126.com KeyWord: C/C++ 位操作 位操作技巧 判断奇偶 交换两数 变换符号 求绝对值 位操作压缩空间 筛素数 位操作趣味应用 位操作笔试面试 位操作篇共分为基础篇和提高篇,基础篇主要对位操作进行全面总结,帮助大转载 2014-01-17 17:26:22 · 858 阅读 · 0 评论 -
负载均衡算法
互联网分布式系统中,很多服务是数据存储相关的,海量访问量下,直接访问存储介质是抗不住的,需要使用cache,cache集群的负载均衡算法就成为一个重要的话题,这里对现有的负载均衡算法进行一些总结。 BTW:虽然是Cache负载均衡算法小结,其实可以说是负载均衡算法小结,只是针对Cache应用场景罢了。 负载均衡算法主要有: Static算法 Random算法 Round ro转载 2014-06-30 21:48:28 · 984 阅读 · 0 评论 -
一致性 hash 算法( consistent hashing )
consistent hashing 算法早在 1997 年就在论文 Consistent hashing and random trees 中被提出,目前在 cache系统中应用越来越广泛; 1 基本场景 比如你有 N 个 cache 服务器(后面简称 cache ),那么如何将一个对象 object 映射到 N 个 cache 上呢,你很可能会采用类似下面的通用方法计算 object 的转载 2014-06-30 21:55:44 · 775 阅读 · 0 评论 -
HASH碰撞
如果两个输入串的hash函数的值一样,则称这两个串是一个碰撞(Collision)。既然是把任意长度的字符串变成固定长度的字符串,所以必有一个输出串对应无穷多个输入串,碰撞是必然存在的。 一个优良的hash函数 f 应当满足以下三个条件: (1)对于任意y,寻找x,使得f(x)=y,在计算上是不可行的。 (2)给定x1∈A,找x2∈B,,使得f(x1)=f(x2),在计算上是不可转载 2015-03-13 11:19:04 · 27746 阅读 · 1 评论 -
各种垃圾回收算法(二)标记-清除( Mark-Sweep )算法
标记-清除( Mark-Sweep )算法 第一种实用和完善的垃圾收集算法是 J. McCarthy 等人在 1960 年提出并成功地应用于 Lisp 语言的标记-清除算法。仍以餐巾纸为例,标记-清除算法的执行过程是这样的: 午餐过程中,餐厅里的所有人都根据自己的需要取用餐巾纸。当垃圾收集机器人想收集废旧餐巾纸的时候,它会让所有用餐的人先停下来,然后,依次询问餐厅里的每一个人:“你转载 2015-03-13 10:55:27 · 4157 阅读 · 0 评论