数据结构以及算法
oklizy
这个作者很懒,什么都没留下…
展开
-
排序---交换排序---冒泡排序 Bubble Sort
冒泡排序 Bubble Sort 思路: 将待排序的元素看作是竖着排列的“气泡”,较小的元素比较轻,从而要往上浮。在冒泡排序算法中我们 要对这个“气泡”序列处理若干遍。所谓一遍处理,就是自底向上检查一遍这个序列,并时刻注意两个相邻的元素的顺序是否正确。原创 2011-07-21 16:08:16 · 465 阅读 · 0 评论 -
杨氏矩阵查找
杨氏矩阵:原创 2014-10-15 23:48:19 · 486 阅读 · 0 评论 -
一致性hash算法理解
一致性hash算法理解,原创 2014-10-30 23:36:04 · 693 阅读 · 0 评论 -
perm全排列
#include void swap(int *pleft, int *pright){ int temp = 0; temp = *pleft; *pleft = *pright; *pright = temp;}void perm(int a[], int size, int first, int num){原创 2014-10-21 23:28:50 · 1454 阅读 · 0 评论 -
排序---交换排序---快速排序Quick Sort
快速排序---Quick Sort 基本思路: 分治思想,将一个大的数据序列分割成两个子序列,然后再依次将两个子序列划分成更小的两个,这里就能很明显的看出快速排序的时间复杂度是与2 的对数有关。 划分的标准是找到序列中数据居中的值做为ke原创 2011-08-08 15:02:17 · 379 阅读 · 0 评论 -
Dijkstra算法
Dijkstra算法书本上说,先找到一条长度最短的路径,再找到一条次最短的路径。一开始人是不是闷了,你还要了解什么是最短,什么是次最短。我用大白话来描述一下这个过程就是先从源点开始,找到当前离源点最近的点,然后再依据刚得到的离源点最近的点,得到下一个离源点最近的点。是不是这样原创 2011-10-13 01:10:48 · 1013 阅读 · 2 评论 -
链表程序引发的指针思考
先把代码粘上来#include using namespace std;typedef struct node{ int data; node *next;}*LinkList,Node;LinkList creat(){原创 2011-08-27 01:40:22 · 698 阅读 · 0 评论 -
统计二进制正整数中1的个数
统计二进制正整数中1的个数常见的办法,也是比较笨的办法,假设这个整数是32位的unsigned int的,那就比较简单的思路,就是每次将整数向右移一位,然后与1进行与操作,然后判断另一种办法:让这个数每次减一,然后和原来的数进行与操作,然后将结果减一,然后和原数进行与操作,一直返回,知道结果为0为止 举例:10的二进制数是1010,那么1010减一的话就是1001,1010&原创 2014-12-03 23:48:04 · 653 阅读 · 0 评论