一个面试题
如果让你实现微信的“附近的人”功能,你会怎么做??
初期实现:客户端固定时间发送经纬度(x,y)到服务器s,服务器存储每个登陆的用户的经纬度到表t中,表t按照经纬度分表,将地图分成一个个的小格子。当用户店家“附近的人”时,对用户(x,y)进行计算,最多一次查询其中的4个格子(子表),计算两点间距离获取结果(有点像桶排序)。性能上可以将表t替换为内存结构,容灾即可。从实际的微...
分类:
微信 时间:
2015-05-15 17:54:52
阅读次数:
286
http://poj.org/problem?id=3581这题说是给了N个数字组成的序列A1 A2 ..An 其中A1 大于其他的数字 , 现在要把序列分成三段并将每段分别反转求最小字典序以后还是老老实实用基数排序 用sort wa 了 一晚#include #include #include #...
分类:
编程语言 时间:
2015-05-12 10:55:00
阅读次数:
245
目录简介交换排序冒泡排序快速排序插入排序直接插入排序希尔排序选择排序简单选择排序堆排序归并排序基数排序总结简介排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记 录序列。分内部排序和外部排序。若整个排序过程不需要访问外存便能完成,则称此类排序问题为内部排序。反之,若...
分类:
编程语言 时间:
2015-05-09 21:45:48
阅读次数:
245
本文转载最近需要对大小在0到100万内的很多数组进行排序,每一个数组的长度都不固定,短则几十,长则几千。为了最快完成排序,需要将数组大小和数据范围考虑进去。由于快速排序是常规排序中速度最快的,首选肯定是它。但是数组中数据的范围固定,可以考虑基数排序。为了使排序耗时尽可能短,需要测试这两种排序算法。快...
分类:
编程语言 时间:
2015-05-09 20:19:42
阅读次数:
313
排序算法可以分为稳定排序和不稳定排序。在简单形式化一下,如果A[i] = A[j],A[i]原来在位置前,排序后A[i]还是要在A[j]位置前,这才能叫稳定排序。排序算法如果是稳定的,那么从一个键上排序,然后再从另一个键上排序,第一个键排序的结果可以为第二个键排序所用。基数排序就是这样,先按低位排序,逐次按高位排序,低位相同的元素其顺序再高位也相同时是不会改变的。另外,如果排序算法稳定,对基于比较...
分类:
编程语言 时间:
2015-05-06 10:59:54
阅读次数:
103
转载自:http://www.cnblogs.com/sevenyuan/archive/2009/12/04/1616897.html冒泡排序、快速排序、选择排序、插入排序、希尔排序,甚至还有基数排序、鸡尾酒排序、桶排序、鸽巢排序、归并排序等。 1 代码 2 3 Code highligh...
分类:
编程语言 时间:
2015-05-05 23:20:04
阅读次数:
131
欢迎指出代码不足
参考书本:严蔚敏《数据结构 .C语言版》
// RadixSort.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#define MAX_SIZE 1000//最大空间
#define RADIX 10//关键字基数
#define KEY_NUM 3//关键字个数
struct SLNode{//静态链表节点
int key...
分类:
编程语言 时间:
2015-05-04 12:04:48
阅读次数:
226
https://leetcode.com/problems/two-sum/
水题一发吧,不过退役以来很少做题了,真是退步太厉害,没考虑全
题意:给一个数组,也一个target,问哪两个数加起来可以得到target
答案:桶排orHash
1、注意,桶排序,而且桶的深度不一定是1,所以hash[i]表示i个数而不是是不是存在
2、因为涉及下标,所以一定小心数组的数可以是分数,我的做法是,...
分类:
其他好文 时间:
2015-05-01 01:50:43
阅读次数:
131
这个之前在《编程珠玑》上面看到过,当时就感觉特别神奇!速度突破了其他排序算法的下限后来在《算法导论》上面又看到了,感触颇深!所以一定好好啃透《算法导论》这一系列博客的特点就是——给出每趟排序的结果本来想着好好写一下过程,弄个图片什么的,不过觉得网上的解析太..
分类:
编程语言 时间:
2015-04-29 20:00:11
阅读次数:
193
使用list实现了排序的中比较简单的插入排序,箱子排序和基数排序,其中,箱子排序和基树排序只能用于数的排序,所以限制还是蛮大的,箱子排序在实际使用中基本上不使用,箱子排序是基数排序的基础,基数排序有MSD和LSD,MSD也就是从最高位开始向最低位排序,LSD也就是从最低位向最高位排序。下面附上我的实现代码://=============================================...
分类:
编程语言 时间:
2015-04-29 17:15:27
阅读次数:
201