数据结构与算法
至浊至愚
自由之思想,独立之人格
展开
-
算法的五个特征
如此经典的问题,大学生考试的时候一定会考的,可原创 2014-06-05 10:46:08 · 16772 阅读 · 1 评论 -
常见算法题:判断表达式是否是回文
题目:设计一个算法,判断用户输入的表达式中是否是回文(回文即左右对称的字符串)。思路:这道题与判断表达式括号是否匹配类似,可使用顺序栈来解决,区别是回文要求每个字符都要求匹配,因此将字符串全部入栈,再全部出栈,将最后一个字符与第一个字符比较是否相同,依次比较,若全部相同则为回文。代码:#include<iostream>#include<string>using namespace std;#原创 2015-06-07 14:44:56 · 1380 阅读 · 0 评论 -
常见算法题:判断表达式括号是否匹配
题目:设计一个算法,判断用户输入的表达式中括号是否匹配,表达式中可能含有圆括号、中括号和大括号。思路:建立一个顺序栈,当表达式中有左括号时将其入栈,当出现右括号时,将栈顶元素出栈,检查与当前右括号是否匹配。最后如果栈为空则表示该表达式中的括号是匹配的。代码:#include<iostream>#include<string>using namespace std;#define MaxSize原创 2015-06-05 20:44:59 · 27295 阅读 · 2 评论 -
常见算法题:单链表二路归并
题目:现有两个递增的单链表L1和L2,设计一个算法将L1与L2的所有结点归并到递增的单链表L3中。要求:空间复杂度为O(1)。思路:本题可采用二路归并思路,但题目要求空间复杂度为O(1),因此不能复制结点,只能破坏L1和L2将结点插入到L3中。代码:void Merge(LinkList &L1,LinkList &L2,LinkList &L3){ LinkList *p=L1.head原创 2015-06-07 18:03:28 · 3431 阅读 · 1 评论 -
常见算法题:逆置单链表
笔试面试中常考的算法题,逆置单链表原创 2015-06-03 03:28:29 · 1424 阅读 · 0 评论 -
时针和分针多久重合一次
朋友们是不是马上反应出来是一分钟重合一次呢,其实我第一次看到这题时也是这么想,下面原创 2014-06-05 15:36:34 · 8631 阅读 · 1 评论 -
数据的逻辑结构和物理结构(存储结构)
数据的逻辑结构和物理结构(存储结构)原创 2014-11-25 18:45:57 · 1604 阅读 · 0 评论 -
判断两个单向链表是否有相交,并找出交点。
判断两个单向链表是否有相交,并找出交点。原创 2014-10-10 16:09:27 · 2041 阅读 · 2 评论 -
基本数据结构——单链表
文章简介:基本数据结构系列讲解之单链表(附源码) 1.介绍链表结构链表中的每个结点都应包括以下两个部分。(1)数据部分:保存结点的数据(2)地址部分:保存下一结点地址链表的头指针指向链表结构的第一个结点,依次直到最后一个结点,最后一个结点的地址部分一般放一个空指针NULL。在链表结构中,通过指针实现结点的逻辑相邻,而逻辑相邻的结点在内存中不一定相邻,所以使用链表原创 2014-06-15 16:42:47 · 680 阅读 · 0 评论 -
单链表的结点删除
很简单的知识,给大家复习一下。原创 2014-06-06 14:12:03 · 1446 阅读 · 0 评论 -
用最简单的方法判断一个LONG整形的数A是2^n
如果一个数是2的n次方,则化成二进制数肯定是 1000...000 的形式,那么 假设这个数是x,则 x-1 肯定是 0111...111 的形式,位数比x少一位那么 x & (x-1) 则有1000...000 &0111...111 0000...000所以当 x & (x-1) = 0时,说明x是2的n次方原创 2014-06-05 15:00:26 · 1318 阅读 · 0 评论 -
常见时间复杂度排行
常见的算法时间复杂度及耗时从小到大的排行如下,原创 2014-06-05 13:36:14 · 4168 阅读 · 0 评论 -
10分钟学会计算时间复杂度
算法这个时间复杂度问题真心是让人头疼,相信有很多原创 2014-06-05 13:17:09 · 1011 阅读 · 1 评论