单链表的快速排序和数组的快速排序在基本细想上是一致的,以从小到大来排序单链表为例,
都是选择一个支点,然后把小于支点的元素放到左边,把大于支点的...
求数组中第K大的数可以基于快排序思想,步骤如下:
1.随机选择一个支点
2.将比支点大的数,放到数组左边;将比支点小的数放到数组右边;将支点放到中间...
B树 即二叉搜索树:
1.所有非叶子结点至多拥有两个儿子(Left和Right);
2.所有结点存储一个关键字;
3.非叶子结点的左指针指向小于其关键字的子树,右指...
文/腾讯soso 乔建秀
乔建秀,国内早期从事搜索引擎技术的专家,拥有十年的搜索经验。作为搜索首席架构师,2000年-2007年在中搜在线工作。2007年以高端技术专...
原文标题:Anatomy of a Program in Memory
原文地址:http://duartes.org/gustavo/blog/ [注:本人水平有限,只好挑一些国外高手的精彩文章翻译一下。一来...
摘要:本文简要综述了几种常见的函数调用方式。
关键字:__stdcall,__cdecl,__thisclass,_fastcall
我们经常可以看到这样的函数声明:
void __cdecl fun(...
计算机经典书籍
各种计算机语言的经典书籍
1. Java
Java编程语言(第三版)---Java四大名著----James Gosling(Java之父)
Java编程思想(第2版)----Jav...
摘要:本文简要介绍了当数据量大到不适合在内存中排序时,利用磁盘进行排序的多路归并算法。
关键字:外排序,磁盘排序,多路归并
下面以一个包含很多...
摘要:本文给出了C++关键字的使用频度列表并且对一些比较生僻的关键字做了简要解释
关键字:C++,关键字,保留字,explicit,volatile,mutable,register
...
摘要:本文简要介绍了c++中使用静态变量实现单件模式的方法
关键字:单件模式,单例模式,singleton,静态变量
如果在程序的整个生命周期中,需要且只...
摘要:本文简要介绍了并查集的基本原理,并且给出了简单易于理解的数组实现。本文给出的实现方法
使用数组而不是通用的树结构,是为了方便对并查集的理解...
摘要:本文介绍了通用并查集的树形实现,通过压缩路径和维持数的平衡,可以保证
查找和合并的平均时间复杂度为O(1)!
关键字:并查集,UnionFind,树形
...
摘要:本文简要介绍了采用贪心策略的最小生成的生成算法——Prim算法。文中首先给出了一个易于理解
的O(N^3)的实现,然后给出了优化后的O(N^2)实现,也就是...
摘要:本文简要介绍了top-k(求一个序列中前K个最大或最小的元素)算法的二分实现方法,并给出了C++源
代码
关键字:top-k,二分,快排序
网上介绍to...
问题描述:给定两个正整数A,B(A和B可能超出计算机中国INT32,INT64的范围,高达几百甚至上千位),
求A和B相乘的积。
解决方案:
用计算机模拟手算的...
摘要:本文简要介绍了拓扑排序算法的原理,并给出了基于邻接矩阵实现的拓扑排序c++源码
关键字:拓扑排序,topological sort,AOV网络
最近在论坛上看...
题目比较简单,但是这里采用的一次遍历方法还是比较通用的。
设:
arr: 数组, size=N
i:记录上一次放置偶数的下一个位置, 初始i=0
j : 当前遍历...