![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
工作/课程基础算法探究
mig_davidli
稍微明白点算法和C++,参加过几个小项目。。
展开
-
【算法导论实验3】堆结构与堆排序
CSDN今天上午抽风了,没能发出去。重发:基于《算法导论》,下标从0开始的堆排序与堆结构的实现,在Ubuntu 12.04 LTS +GCC 4.6.3下调试通过。#include using namespace std;void swap(int &a,int &b){ int temp=a; a=b; b=temp;}void Max_Heapi原创 2014-04-16 18:39:06 · 1113 阅读 · 0 评论 -
【算法导论实验4】动态规划-最长公共子序列LCS
真的很重要!!不管是面试还是实际应用还是acm比赛!原理在dp中属于好理解的..#include #include #include using namespace std;int c[100][100];int b[100][100];int countlength=0;void LCS_Length (string x, string y){ int m =x.s原创 2014-04-26 22:50:41 · 1563 阅读 · 0 评论 -
【算法导论实验2】快速排序与第i小数问题
ps:快速排序是非常重要的内容,在公司的笔试题面试题中和研究生考试时都作为重点。某位大神似乎就是在面试阿里的时候脑洞抽风没答出来快速排序才坑进去的。。任务:1、快速排序(nlogn)2、解决快速求解查找第i小数的问题代码如下,都是改成了从0开始的。在Ubuntu 12.04 GCC 4.6.3下通过,VS还没试。#include #include #include #原创 2014-04-11 09:32:06 · 2244 阅读 · 0 评论 -
【备忘】stack和queue的常用参数
备忘,做DFS和BFS搜索的时候用:1、定义一个queue的变量 queue M //例如 queue Q,q2、查看是否为空范例 M.empty() 是的话返回1,不是返回0;3、从已有元素后面增加元素 M.push()4、输出现有元素的个数 M.size()5、显示第一个元素 M.front()6、显示最后一个元素 M.back()7、清除第一个元素 M.pop(转载 2012-10-31 15:31:49 · 587 阅读 · 0 评论 -
【GDB的BUG】文件名中的数字导致调试错误。(附C-Free完全删除手册)
教训:使用GDB的时候,调试的目标文件名不要由数字开头,中间不要有空格。 本人因为ACM竞赛需要,机器上的C++编程环境为:C-Free 5 / CDT+Eclipse +MinGW编译器, 最近发生了不进入断点的问题,如下图所示:直接全部忽略了,让我十分拙计。。怀疑是编译器的问题,把自带的MINGW卸掉,在网上下载了MINGW的5.16版本(不得不说,这个的官网——scorceF原创 2013-01-30 09:50:27 · 5135 阅读 · 3 评论 -
【工程】二叉树已知前序/中序的顺序,构造树的递归等实现
文章中的二叉树原型为 《Data Structures, Algorithms, & Applications in C++》, 1nd Edition中的树类。要求在源文件的基础上 实现以下三个操作:【1】给出前序遍历和中序遍历结果,构造树。【2】给出计算叶子节点数目的函数。【3】交换树中的左右所有节点。需要用到的主要函数(异常抛出\链表队列之类与主题没啥关系的请查书):原创 2013-04-27 19:31:32 · 1515 阅读 · 1 评论 -
【数据结构】C++中一维数组与二维数组的手动调用
在平时做项目的过程中或者C++学习的时候,开数组大家都会,但是对指针不熟练的人还是会对数组的原理表示不明,经常出现内存调用的BUG。下边讲解一下人工开数组,众所周知,在C++中,数组的本质是指针(老师们应该都是这么教学的)。但是各位究竟对数组的指针操作了解多少?一、数组的指针是const *T,不能直接修改地址.下边int intArray[10];intArray++;原创 2013-03-04 11:07:43 · 1230 阅读 · 0 评论 -
【一个按标志分拆字符串的好方法】strtok函数简介及应用。
刚刚接触strtok函数,感觉十分神奇。定义:strtok语法: #include char *strtok( char *str1, const char *str2 );功能:函数返回字符串str1中紧接“标记”的部分的指针, 字符串str2是作为标记的分隔符。如果分隔标记没有找到,函数返回NULL。为了将字符串转换成标记原创 2013-01-29 10:46:37 · 1347 阅读 · 0 评论 -
【备忘】公司笔试常考算法重点简介
一、数据结构方面:一维数据结构:set,array,queue,stack,linked list.特性(如set不允许重复元素)、stack先进后出、queue后进先出,linked list的各种姿势(双向、单向、循环)……常考问题:1、找出一个单链表中的中间节点快慢指针为最优解法,即两个指针、一个p=p->next 另一个p=p->next->next,第二个p,whil原创 2013-09-27 20:59:27 · 1313 阅读 · 0 评论 -
【算法导论实验1】插入排序与归并排序
任务描述:生成50000个随机数,存于input.txt中,然后通过插入排序和归并排序,分别输出到OutputInsertion.txt和OutputMerge.txt中,并统计运行时间。来体会算法的时间复杂度。代码如下://编译环境:GCC 3.4.5,Ubuntu 12.04 LTS//2014.3.26#include #include #include #inclu原创 2014-03-26 12:37:55 · 1484 阅读 · 0 评论 -
【算法导论实验5】贪心-活动安排问题与背包问题
首先是活动安排问题。贪心的关键在于排序策略。思路很简单,对所有活动的结束时间排序,如果结束时间相同,因为要尽量多的参加活动,所以选取开始时间尽量晚的(这样可以安排的比较多),然后依次从早到晚选取不冲突的活动加入,即为最多可以参加的活动。#include #include #include #include #include using namespace std;clas原创 2014-05-06 15:46:49 · 2966 阅读 · 0 评论 -
【8.29】阿里巴巴2014年校招(软件测试攻城师)笔试题目
以下均为本人当时的答案,不是正确答案。。欢迎参加过的讨论我的错题,来一起进步。面试应该不会去,没预约上,再者对当前工作也比较满意,就不去霸面麻烦人家了。第一部分:选择题1、a把校园中同一区域的两张不同比例尺的地图叠放在一起,并且使其中较小尺寸的地图完全在较大尺寸的地图的覆盖之下。每张地图上都有经纬度坐标,显然,这两个坐标系并不相同。我们把恰好重叠在一起的两个相同的坐标称之为重合点。原创 2014-09-06 10:02:09 · 10765 阅读 · 7 评论