
数据结构算法
海空天空
这个作者很懒,什么都没留下…
展开
-
B树 B-树 B+树 B*树
文章转自:http://www.cnblogs.com/oldhorse/archive/2009/11/16/1604009.html B树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其转载 2015-07-04 09:14:11 · 334 阅读 · 0 评论 -
面试经验及题目分享
自己实习了一段时间,信心满满地去面试,以为可以从容地应对,但事实并不是那样,自己在做项目的时候,理论知识还是有待欠缺,对很多问题的理解都是一知半解,没办法让人满意,下面是自己整理的自己这次面试中一些题目,分享给大家。 同步与异步的区别 同步:发送一个请求,等待返回,然后再发送下一个请求 异步:发送一个请求,不等待返回,随时可以再发送下一个请求 同步可以避免出现死锁,读脏数据的发生,一般共享原创 2015-03-15 09:56:11 · 1142 阅读 · 0 评论 -
数组的组合数
/***********************************************/ /**********功能:数组的组合数*****************************/ /**********时间:2015 3 13**************************/ /**********作者:xiaozhi xiong*****************/ /*原创 2015-03-13 20:05:25 · 810 阅读 · 0 评论 -
约瑟夫环问题
有N个人围一圈依次报数,数到3的倍数的人出列,问当只剩一个人时他原来的位子在哪里? /*约瑟夫环问题---单向循环链表实现*/ /**********************************/ /**********Date:2015.3.11*********/ /*********author:xiaozhi xiong***/ /**************************原创 2015-03-11 18:18:59 · 560 阅读 · 0 评论 -
深度排序对0-n进行全排序
/* * *从0-n的整数的全排序 *使用深度搜索 */ #include"stdio.h" int n; int a[10]; int book[10]; int num_sort; //深度搜索 void dfs(int step) { int i; if(step==n+1) { for(i=1;i<=n;i++) printf("%d",a[i]); printf("原创 2014-10-24 08:26:06 · 513 阅读 · 0 评论 -
链表操作总结
#include"stdio.h" struct link{ int data; struct link *next; }; //创建链表 struct link *createLink(int *p,int num) { struct link *head; struct link *newNode; struct link *pre; int i; head=(struct li原创 2014-10-20 20:00:52 · 416 阅读 · 0 评论 -
二叉树操作
#include"stdio.h" struct Btree{ int data; struct Btree *right; struct Btree *left; }; //查找节点 struct Btree *findNode(struct Btree *tree,int data) { while(tree) { if(tree->data ==data) return原创 2014-10-19 16:03:08 · 381 阅读 · 0 评论 -
桶排序
#include int *BucketSort(int *p,int num) { int i; int j=0; int box[30]={0}; int result[10]; for(i=0;i { box[p[i]]++; } for(i=0;i { while(box[i]) { result[j]=i; j++; box[i]--; } }原创 2014-10-19 08:34:10 · 304 阅读 · 0 评论 -
希尔排序
#include"stdio.h" //希尔排序 shellInsert(int a[],int d,int len) { int i,j; int temp; for(i=d;i<len;i++) { j=i-d; temp=a[i]; while(j>=0&&temp<a[j]) { a[j+d]=a[j]; j-=d; } if(j!=i-d)原创 2014-09-12 08:12:52 · 362 阅读 · 0 评论 -
快速排序
#include"stdio.h" //快速排序算法 void fastSort(int a[],int left,int right) { int i,j,temp; i=left; j=right; if(i>=j) return; temp=a[i]; if(i<j) { while(i<j) { while(i<j&&temp<a[j]) j--;原创 2014-09-12 07:33:19 · 533 阅读 · 0 评论 -
插入排序
#include"stdio.h" //打印数组 void printArray(int a[],int len) { int i; for(i=0;i<len;i++) printf("%d\n",a[i]); } //插入排序 void insertSort(int a[],int len) { int inner,outer; int temp; if(NULL==a||0原创 2014-09-11 15:17:49 · 409 阅读 · 0 评论 -
冒泡排序
#include"stdio.h" //冒泡排序 void bubbleSort(int a[],int len) { int temp; int count=0; int inner=0,outer=0; if(NULL==a||0==len) return; for(outer=len-1;outer>=1;outer--) { for(inner=0;inner<oute原创 2014-09-11 14:39:26 · 289 阅读 · 0 评论 -
二分法和二叉树进行搜索
#include"stdio.h" struct Node{ int data; struct Node *right; struct Node *left; }; //使用二分法进行搜索 int biSort(int a[],int len,int value) { int start=0; int end=len-1; int mid=(end-start)/2;原创 2014-09-11 13:57:12 · 1355 阅读 · 0 评论