打赏

随笔分类 -  (C-0)数据结构算法学习笔记

数据结构和算法,笔试面试题分析
摘要:冒泡排序算法: 总的来说就是两两交换,反复直到有序,第一个记录和第二个记录,若逆序则交换,然后比较第二个和第三个记录,以此类推,直到第 n 个记录和第 n-1个记录比较完毕为止,第一趟排序,结果关键字最大的记录被安排在最后一个位置。对前 n-1个记录继续冒泡排序,使得关键字次大的记录安排在第 n-1 阅读全文
posted @ 2015-03-21 02:36 dashuai的博客 阅读(5954) 评论(0) 推荐(0) 编辑
摘要:基本的五类排序算法(插入,选择,交换,归并,基数排序)。排序:将数据元素的一个任意序列,重新排列成一个按关键字有序的序列。 排序的稳定性:待排序列中有大于等于2个相同的项,且排序前后,相同项的相对位置是否发生了变化(如果变化了就是不稳定的排序,不变化就是稳定的) 内部排序:若整个排序过程不需要访问外 阅读全文
posted @ 2015-03-20 14:38 dashuai的博客 阅读(5962) 评论(0) 推荐(0) 编辑
摘要:之前说到,朴素的匹配,每趟比较,都要回溯主串的指针,费事。则 KMP 就是对朴素匹配的一种改进。正好复习一下。 KMP 算法其改进思想在于: 每当一趟匹配过程中出现字符比较不相等时,不需要回溯主串的 i指针,而是利用已经得到的“部分匹配”的结果将模式子串向右“滑动”尽可能远的一段距离后,继续进行比较 阅读全文
posted @ 2015-03-10 06:33 dashuai的博客 阅读(11629) 评论(0) 推荐(1) 编辑
摘要:复习串的朴素模式匹配算法 模式匹配 : 子串定位运算,在主串中找出子串出现的位置。 在串匹配中,将主串 S 称为目标(串),子串 T 称为模式(串)。如果在主串 S 中能够找到子串 T, 则称匹配成功,返回 第一个 和 子串 T 中 第一个字符 相等 的 字符 在主串 S 中的 序号,否则,称匹配失 阅读全文
posted @ 2015-03-09 08:47 dashuai的博客 阅读(4962) 评论(0) 推荐(0) 编辑
摘要:继续接去年的常见数据结构和算法总结 系列随笔记录 一、计算机里进行非数值处理的对象基本上是字符串数据,比处理浮点和整数都要复杂 string串定义:由 0 个或多个 字符 组成的 有限的 序列,通常记为:s =“a1 a2 a3 … ai …an” ( n≥0 ,且n是有限的)。其中的引号不属于串, 阅读全文
posted @ 2015-03-08 21:52 dashuai的博客 阅读(13349) 评论(0) 推荐(0) 编辑
摘要:很多程序经常使用的最普通,比较常见的,也是比较简单的一个算法 1、普通方法,借助一个额外内存变量实现交换: #include <iostream> using namespace std; int main(int argc, const char * argv[]) { int a; int b; 阅读全文
posted @ 2015-03-05 10:50 dashuai的博客 阅读(2368) 评论(0) 推荐(1) 编辑
摘要:一、队列(queue) 队列和栈一样,在实际程序的算法设计和计算机一些其他分支里,都有很多重要的应用,比如计算机操作系统对进程 or 作业的优先级调度算法,对离散事件的模拟算法,还有计算机主机和外部设备运行速度不匹配的问题解决等,很多很多。其实队列的本质还是线性表!只不过是一种特殊的或者说是受限的线 阅读全文
posted @ 2014-11-19 22:00 dashuai的博客 阅读(17491) 评论(0) 推荐(1) 编辑
摘要:俗话说得好,线性表(尤其是链表)是一切数据结构和算法的基础,很多复杂甚至是高级的数据结构和算法,细节处,除去数学和计算机程序基础的知识,大量的都在应用线性表。 一、栈 其实本质还是线性表:限定仅在表尾进行插入或删除操作。 俗称:后进先出 (LIFO=last in first out结构),也可说是 阅读全文
posted @ 2014-11-17 22:29 dashuai的博客 阅读(5157) 评论(1) 推荐(2) 编辑
摘要:数学中一元n次多项式可表示成如下的形式: Pn(x)=p0+p1x+p2x^2+…+pnx^n (最多有 n+1 项,n +1 个系数唯一确定她) (1)请设计一套接口用以表示和操作一元多项式 (2)根据上述设计实现一元n次多项式的加法运算 (3)根据上述设计实现一元n次多项式的乘法运算 分析: 题 阅读全文
posted @ 2014-11-16 01:54 dashuai的博客 阅读(5153) 评论(3) 推荐(2) 编辑
摘要:一、静态单链表 在不支持动态空间分配的环境中,要使用链表存储数据,那么可采用静态链表的方法:即在一块预分配的存贮空间中,用下标作为指针链来构成链式结构。 //既然是静态链表,那么可以使用一维数组实现存储,java没有指针,那么就用这来使用链表结构 //在不支持动态空间分配的环境中,要使用链式结构技术 阅读全文
posted @ 2014-11-09 22:01 dashuai的博客 阅读(1812) 评论(0) 推荐(0) 编辑
摘要:顺序线性表的优点:方便存取(随机的),特点是物理位置和逻辑为主都是连续的(相邻)。但是也有不足,比如;前面的插入和删除算法,需要移动大量元素,浪费时间,那么链式线性表 (简称链表) 就能解决这个问题。 一般链表的存储方法 一组物理位置任意的存储单元来存放线性表的数据元素,当然物理位置可以连续,也可以 阅读全文
posted @ 2014-10-31 01:13 dashuai的博客 阅读(5646) 评论(1) 推荐(5) 编辑
摘要:线性表 定义:是最常用的,也是最简单的数据结构,是长度为n个数据元素的有序的序列。 含有大量记录的线性表叫文件 记录:稍微复杂的线性表里,数据元素为若干个数据项组成,这时把一个数据元素叫记录 结构特点:在非空有限的条件下,存在唯一的一个表头结点,唯一的一个表尾结点,除去第一个元素之外,每个数据元素都 阅读全文
posted @ 2014-10-27 02:38 dashuai的博客 阅读(5876) 评论(1) 推荐(3) 编辑

Flag Counter欢迎关注微信公众号