算法
文章平均质量分 77
agwujiang
这个作者很懒,什么都没留下…
展开
-
典型的几个链表操作-逆序和重排
http://dev.firnow.com/course/3_program/c++/cppjs/20081012/150161.html已知链表的头结点head,写一个函数把这个链表逆序 ( Intel)Node * ReverseList(Node *head) //链表逆序{if ( head == NULL || head->next == NULL ) // 否则下面的就错了,一定要注意一些特定条件的判断,边界问题狠重要,软件开发要注意对异常分支的处理 // 三个转载 2010-08-22 00:30:00 · 3672 阅读 · 0 评论 -
面试-字符串操作
面试-字符串操作1. 字符串数与整数之间的转化void int2str(int num, char *str){ char *ptr = str; while(num) { *ptr++ = num%10 + '0'; num /= 10; } *ptr = '/0';} int str2int(char *str){ int num = 0; char *ptr=str; while(*ptr != '/0') {转载 2010-08-22 00:38:00 · 695 阅读 · 0 评论 -
面试题目 链表专题
<br />面试的时候,书写程序要注意以下几点<br />1.确认了解题意,如果对题意了解不清,应该向面试人员问清楚<br />2.明确题意后,首先思考找到一个复杂度可以接受的正确算法,并表述出来,注意可以在草稿纸上写写划划,进行验证<br />3.观察复杂度能否再次降低<br />4.书写程序时,一定要认真,坚决防止出现逻辑错误,并根据程序具体分析可能的极端情况,处理好边界,并自己进行用例测试,以验证程序。<br />节点的定义如下:<br />typedef struct list {<br />int转载 2010-08-22 00:36:00 · 659 阅读 · 0 评论 -
面试必备:常见排序算法的实现
<br />http://www.unix-center.net/bbs/viewthread.php?tid=17407<br /><br /><br />常见排序算法的实现(一)-插入排序<br />插入排序是最简单最直观的排序算法了,它的依据是:遍历到第N个元素的时候前面的N-1个元素已经是排序好的了,那么就查找前面的N-1个元素把这第N个元素放在合适的位置,如此下去直到遍历完序列的元素为止。<br /><br /> 算法的复杂度也是简单的,排序第一个需要1的复杂度,排序第二个需要2的复杂度,因转载 2010-08-21 23:58:00 · 8011 阅读 · 0 评论 -
各种排序算法
源地址:http://hi.baidu.com/gilbertjuly/blog/item/7c1cc4c7c28b5d129c163d07.html排序算法是一种基本并且常用的算法。由于实际工作中处理的数量巨大,所以排序算法对算法本身的速度要求很高。 而一般我们所谓的算法的性能主要是指算法的复杂度,一般用O方法来表示。在后面我将给出详细的说明。 对于排序的算法我想先做一点简单的介绍,也是给这篇文章理一个提纲。 我将按照算法的复杂度,从简单到难来分析算法。 第一部分是简单排序算法,后面你将看到他们的转载 2010-08-21 23:19:00 · 1566 阅读 · 0 评论 -
四道有趣的单链表面试题(单链表反序、找出链表的中间元素、链表排序、判断一个单链表是否有环) (转)
<br />以下给出链表结点的数据结构:1 typedef struct _list_node<br />2 {<br />3 double keyVal;<br />4 struct _list_node *next;<br />5 }ListNode;Q1 单链表的反序<br />ListNode* reverseList(ListNode* head) { ListNode *p1, *p2 , *p3; //链表为空,或是单结点链表直接返回头结点转载 2010-08-22 00:09:00 · 1202 阅读 · 0 评论 -
一些c语言面试题
<br />http://hi.baidu.com/gilbertjuly/blog/item/171e19654c246afcf6365408.html<br /> <br />1.strlen, sizeof, strcpy<br />strlen的结果未统计’/0’所占用的1个字节<br />strcpy(), 以源串中的'/0'为拷贝结束标志, 直到遇到该NULL为止, 然后将NULL拷贝上. <br />strncpy()以第三个参数N为拷贝结束标志, 如果source的长度小于N, 则剩余的字转载 2010-08-21 23:42:00 · 1061 阅读 · 0 评论 -
常见排序算法及其实现
<br />以下总结常见排序算法及其实现。对面试尤为有用。<br /> <br />中文英文时间复杂度(最坏和平均)稳定性空间复杂度备注冒泡排序Bubble SortO(n2)/O(n2)YESO(1)即使在O(n2)算法中也是效率低下的。关键,每次冒泡<br />之后,最后一个元素是已经排序好的,所以不用再排了。<br />如果一轮排序后已经没有swap,则不用再排了。插入排序Insertion SortO(n2)/O(n2)YESO(1)有一些优势:在O(n2)算法中,效率较高,如果数据集<br />基转载 2010-08-21 23:07:00 · 708 阅读 · 0 评论 -
字符串相关面试题
面试题目 字符串专题http://duanple.blog.163.com/blog/static/7097176720098187218117/一道面试题:从一个字符串中找出第一个不重复字符http://topic.csdn.net/u/20090513/00/bf0e3cd4-f8ac-4c14-bf00-0749bf5f504f.html程序员面试题精选100题(36)-在字符串中删除特定的字符http://zhedahht.blog.163.com/blog/static/2541117420080转载 2010-08-22 01:19:00 · 1046 阅读 · 0 评论 -
按单词反转字符串
<br />按单词反转字符串<br />本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ugg/archive/2006/06/21/818566.aspx<br /><br /> <br />题目要求:把字符串“I am a student”反转成为“student a am I”,不借助任何库函数。 <br /> <br />字符串中单词顺序反转的方法有很多种,我们可以定义一个栈结构,根据栈的特性,先进后出。我们通过依次查找空格(在实际分析单词应用中这只是最简单的情况,单转载 2010-08-22 00:49:00 · 1701 阅读 · 0 评论 -
超长正整数的加法
C++编程:C++ 超长正整数的加法<br />http://webservices.ctocio.com.cn/net/17/9484017.shtml<br /> <br /> <br />C语言实现超长正整数的加法<br />http://www.njustjx.cn/thread-802-1-1.html<br /><br /><br />C趣味编程百例<br />http://www.fish888.com/C-(33)-t39955转载 2010-08-23 15:09:00 · 905 阅读 · 0 评论