随笔分类 -  算法\数据结构

能写的时候多写写
摘要:1.90%人不能正确写出的二分查找 1 int binarySearch(int a[],int n,int key) 2 { 3 int left=0; 4 int right=n-1; 5 while(left<=right)//易错点:一定要是小于等于 6 { 7 int mid=left+((right-left)>>1);//1。防止溢出,当l,r很大时,(l+r)>>1可能溢出,2.位运算加快速度 3.一定要加括号,>>优先级小于+ 艹,你妹啊 8 if(a[mid]>key) 9 rig... 阅读全文
posted @ 2013-01-25 11:28 曙光_用代码记录人生 阅读(143) 评论(0) 推荐(0)
摘要:1、写一个函数找出一个整数数组中第二大的数。// 时间复杂度O(n)const int MINNUMBER = -32767;int find_sec_max(int data[], int count){ int maxnumber = data[0]; int sec_max = MINNUMBER; for(int i = 1; i < count; i++) { if(data[i] > maxnumber) { sec_max = maxnumber; maxnumber = data[i... 阅读全文
posted @ 2012-12-06 00:36 曙光_用代码记录人生 阅读(213) 评论(0) 推荐(0)
摘要:#include <iostream>using namespace std;typedef struct node{ int value; struct node* next; node(){next=NULL;} node(int v,node* n){value=v;next=n;}}node;void insert(node*& head,int a[],int n)//??????????????????注意要用引用{ node* rear=NULL; for(int i=0;i<n;i++) { if(!head) rear=head=new node(a 阅读全文
posted @ 2012-12-04 23:01 曙光_用代码记录人生 阅读(207) 评论(0) 推荐(0)
摘要:1.O(n)的排序(其实是快速排序的第一步):把一个数组的排序,前面是奇数,后面是偶数,时间复杂度O(n),空间复杂度O(1)#include <iostream>#define arraylength 10using namespace std;int array[arraylength]={1,3,3,3,5,11,15,13,17,15};void rearrangeArray(int array[],int n)//前面是奇数后面是偶数{ int front=-1; int rear=n; while(front<rear) { while(fro... 阅读全文
posted @ 2012-12-04 21:47 曙光_用代码记录人生 阅读(407) 评论(0) 推荐(0)
摘要:二叉树问题总可以用几种方法解决:递归的方法,基本上第一眼就是要用递归 2.几种遍历,前序、中序、后序、 层次遍历(重,还可以用来求最大宽度,)void levelTraverse(BTNode*root)//还可以求最大宽度,{ vector<BTNode*>v; int front=0,rear; if(root) v.push_back(root); int maxWidth=0; while(front<v.size()) { rear=v.size(); int tempMax=0; while(f... 阅读全文
posted @ 2012-12-04 21:27 曙光_用代码记录人生 阅读(180) 评论(0) 推荐(0)
摘要:【转载 xwdreamer】1.把二元查找树转变成排序的双向链表题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。 10 / \ 6 14/ \ / \4 8 12 16转换成双向链表4=6=8=10=12=14=16。首先我们定义的二元查找树 节点的数据结构如下:struct BSTreeNode{ int m_nValue; // value of node BSTreeNode *m_pLeft; // left child of node BSTreeNode *m_pRight; // right child of node 阅读全文
posted @ 2012-12-04 21:01 曙光_用代码记录人生 阅读(334) 评论(0) 推荐(0)