上一页 1 ··· 4 5 6 7 8 9 下一页
摘要: 对于冒泡排序,大家肯定都熟知,每一轮的冒泡都将最大的数排到最前面,每一轮的时间复杂度是O(n),如果要排序的数组大小为n,要经过n轮才能将数组中所有元素排序,所以总共的时间复杂度为O(n2)。关于冒泡排序的源码如下:迭代型冒泡排序#include <stdio.h>#define length(array) sizeof(array)/sizeof(array[0])#define true 1#define false 0void BubbleSort(int *a, int len) //待排数组a以及它的长度len{ int ordered = false; int temp 阅读全文
posted @ 2013-01-02 17:24 GOD_YCA 阅读(7648) 评论(2) 推荐(1)
摘要: 源代码如下:#include <stdio.h>int add(int x,int y){ int t = x + y; return t;}int main(void){ int x=4, y=1; return add(x,y);}经过 gcc -S hello.c产生汇编代码如下:add: pushl %ebp movl %esp, %ebp subl $16, %esp movl 12(%ebp), %eax movl 8(%ebp), %edx leal (%edx,%eax), %eax ... 阅读全文
posted @ 2012-12-29 22:58 GOD_YCA 阅读(1255) 评论(0) 推荐(0)
摘要: 今天在看csapp中关于移位操作的处理,上面说逻辑左移和算数左移是等同的,想了想,怎么可能,写了程序测试了一把,发现确实一样,但是这个是有前提条件的,在逻辑左移和算数左移的操作数中,如果左移没有产生有对符号位影响的进位,那么左移都一样,比如int(4字节),它表示的范围为范围[-2^31 , 2^31 -1] 即 [-2147483648,2147483647]。如果一个数在[-1073741824,1073741823]范围之内,左移一位,不管是逻辑左移还是算数左移都不会对最高位的符号位产生影响,所以左移一样,但是左移两位的话,那么对于int将会产生溢出,此时逻辑左移和算数左移将不一样。算数 阅读全文
posted @ 2012-12-29 16:55 GOD_YCA 阅读(10481) 评论(0) 推荐(1)
摘要: 今天突然想到这三种参数传递方式的调用,主要忘记了三种传递方式的格式什么区别,写了写,本来写了一个c版本的,发现c竟然没有引用传递,好吧,c++里有,真是没有想到。附上代码:#include<iostream>using namespace std;void f1(int &a,int &b){ int tmp; tmp=a; a=b; b=tmp;}void f2(int a,int b){ int tmp; tmp=a; a=b; b=tmp;}void f3(int *a,int *b){ int tmp; tmp=*a; ... 阅读全文
posted @ 2012-12-29 15:22 GOD_YCA 阅读(531) 评论(0) 推荐(0)
摘要: 前一段日子收到cisco的面试,被问到一个问题,对一个单链表进行逆置,题目很简单,最近对递归有了一些新的认识,写下一些感想。当你拿到一个可以用递归解决的问题时,别马上下手写程序,基本上这样都会失败,你需要停下来思考一下如何用数学表达式也形式化的写出递归定义。比如斐波那契数列,递归的数学表达式如下:f(0)=1f(1)=1f(n)=f(n-1)+f(n-2)有了如上的递归表达式,写递归就会很简单。链表逆置也一样,如 1->2->3->4->5->null,f(5)= return //返回逆置的链表头结点f(其他) = next == null) return p; 阅读全文
posted @ 2012-12-27 10:11 GOD_YCA 阅读(3635) 评论(3) 推荐(1)
摘要: 今天收到intel面试,问我一个问题,如何在一万个字符串中找到某个相关的字符串?当时感觉打得不好,回头自己又想了想,现写下感想。方法1:最笨的方法,一个一个的遍历方法2:采用划分子集的方法,首先以第1个字符进行划分,将a到z开头的字符串划分到不同的子集中,然后比较,接着,再到相应子集中进行划分,在比 较,一直到找到为止,这个方法相较于方法1是:1,相对于每次比较的字串而言,所有首字母不相同的不再进行比较,比方说happy,肯定去以h为首字母的 集合中进行比较,然后对于子串appy,只要到所有子串以a为首字母的集合中进行比较,如此下去,时间花费主要在于划分子集上,而划分子集的次数又跟 happy 阅读全文
posted @ 2012-12-25 18:16 GOD_YCA 阅读(2167) 评论(3) 推荐(1)
摘要: 今天收到intel面试,问我一个问题,如何在一万个字符串中找到某个相关的字符串?当时感觉打得不好,回头自己又想了想,现写下感想。方法1:最笨的方法,一个一个的遍历方法2:采用划分子集的方法,首先以第1个字符进行划分,将a到z开头的字符串划分到不同的子集中,然后比较,接着,再到相应子集中进行划分,在比较,一直到找到为止,这个方法相较于方法1是:1,相对于每次比较的字串而言,所有首字母不相同的不再进行比较,比方说happy,肯定去以h为首字母的集合中进行比较,然后对于子串appy,只要到所有子串以a为首字母的集合中进行比较,如此下去,时间花费主要在于划分子集上,而划分子集的次数又跟happy的长度 阅读全文
posted @ 2012-12-25 17:39 GOD_YCA 阅读(744) 评论(0) 推荐(0)
摘要: 做技术在中国有没有前途?这个问题是每个在国内做技术的人都会思考的问题。在我看来,我们之所以会产生样的困扰,主要原因在于我们所谓的研发都是二次开发,国内任何公司,研究单位(除开严格保密的单位)做的工作都是在国外平台上完成的研发,或者在抄板别人产品的基础上做事情。我们一直处于学习阶段,这也就算不上真正的研发了。想象一下,假如国内的半导体厂商能成为主流,做二次开发的技术人才会甘于这样停滞不前吗。做系统的做了几遍就没有新鲜了,做IC的做不出成绩。商业上自然做技术的不会长久,坚持10年,20年的少之又少。最后都转管理,转市场了,这才是他们认为的正道。 当我和中科院、电科大的一些老师聊到国内技术相关的.. 阅读全文
posted @ 2012-12-21 14:52 GOD_YCA 阅读(1140) 评论(2) 推荐(0)
摘要: step1:install python, download from http://www.python.org/getit/,choose windows version.start->program->python2.7->IDLE(Python GUI), you can see:Python 2.7.3 (#69, Mar 29 2006, 17:35:34) [MSC v.1310 32 bit (Intel)] on win32Type “copyright”, “credits” or “license()” for more information.**** 阅读全文
posted @ 2012-12-06 10:22 GOD_YCA 阅读(10523) 评论(0) 推荐(1)
摘要: 今天去参加百度的面试,遇到一个关于虚函数的机制的问题,我一直认为就是为了让基类指针或引用(指向继承类)能够看到基类的虚函数(当基类的虚函数没有被继承类重写),但是继承类又怎么看到基类的普通成员函数呢?我开始想,好想不可以调用基类的成员函数,因为基类的成员函数不是虚函数,在虚表找不到它,好吧,明天被鄙视了。回到家好好的研究了一下虚函数和成员函数,看看基类的成员函数和虚函数在派生类指针或引用是否可见,还有基类的成员函数和虚函数在基类指针或引用(指向继承类)是否可见,以及派生类的成员函数和虚函数在基类指针或引用(指向继承类)是否可见?下面是例子:#include <iostream>us 阅读全文
posted @ 2012-11-22 22:12 GOD_YCA 阅读(6937) 评论(0) 推荐(0)
上一页 1 ··· 4 5 6 7 8 9 下一页