数据结构算法
海空天空
这个作者很懒,什么都没留下…
展开
-
冒泡排序
#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 · 272 阅读 · 0 评论 -
数组的组合数
/***********************************************//**********功能:数组的组合数*****************************//**********时间:2015 3 13**************************//**********作者:xiaozhi xiong*****************//*原创 2015-03-13 20:05:25 · 776 阅读 · 0 评论 -
约瑟夫环问题
有N个人围一圈依次报数,数到3的倍数的人出列,问当只剩一个人时他原来的位子在哪里?/*约瑟夫环问题---单向循环链表实现*//**********************************//**********Date:2015.3.11*********//*********author:xiaozhi xiong***//**************************原创 2015-03-11 18:18:59 · 539 阅读 · 0 评论 -
面试经验及题目分享
自己实习了一段时间,信心满满地去面试,以为可以从容地应对,但事实并不是那样,自己在做项目的时候,理论知识还是有待欠缺,对很多问题的理解都是一知半解,没办法让人满意,下面是自己整理的自己这次面试中一些题目,分享给大家。同步与异步的区别同步:发送一个请求,等待返回,然后再发送下一个请求异步:发送一个请求,不等待返回,随时可以再发送下一个请求同步可以避免出现死锁,读脏数据的发生,一般共享原创 2015-03-15 09:56:11 · 1106 阅读 · 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 · 400 阅读 · 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 · 363 阅读 · 0 评论 -
桶排序
#includeint *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 · 293 阅读 · 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 · 491 阅读 · 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 · 1335 阅读 · 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 · 391 阅读 · 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 · 346 阅读 · 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 · 520 阅读 · 0 评论 -
B树 B-树 B+树 B*树
文章转自:http://www.cnblogs.com/oldhorse/archive/2009/11/16/1604009.htmlB树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其转载 2015-07-04 09:14:11 · 308 阅读 · 0 评论