随笔分类 - 数据结构与算法
摘要:简单排序 - 冒泡、选择、插入 1. 冒泡排序 2. 选择排序 3. 插入排序 排序进阶 1. 归并排序 对于一个int数组,请编写一个归并排序算法,对数组元素排序。 给定一个int数组A及数组的大小n,请返回排序后的数组。 测试样例: 代码: 2. 快速排序 对于一个int数组,请编写一个快速排序
阅读全文
摘要:入门: PTA 5-16 一元多项式求导 (25) (PAT-B 1010) 线性表: PTA 5-2 Reversing Linked List (25) [法一] - 线性表 - 链表反转 (PAT 1074) PTA 5-2 Reversing Linked List (25) [法二] -
阅读全文
摘要:B树即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树;如:B树的搜索:从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中;否则,如果查询关键字比结点关...
阅读全文
摘要:转自:http://blog.csdn.net/biaobiaoqi/article/details/8975536 有改动。 字符串匹配算法 字符串匹配(String Matchiing)也称字符串搜索(String Searching)是字符串算法中重要的一种,是指从一个大字符串或文本中找到模式
阅读全文
摘要:二分法求函数根的原理为:如果连续函数f(x)在区间[a, b]的两个端点取值异号,即f(a)f(b)#include #include using namespace std;const double threshold=0.01; //!阈值double a3,a2,a1,a0;double f(...
阅读全文
摘要:转自:http://www.cnblogs.com/CCBB/archive/2009/04/25/1443455.html问题描述:输入一组整数,求出这组数字子序列和中最大值。也就是只要求出最大子序列的和,不必求出最大的那个序列。例如:序列:-2 11 -4 13 -5 -2,则最大子序列和为20...
阅读全文
摘要:1.单链表反转 思路1:O(n^2). “狸猫换太子”,不进行改动链表结构,只首尾交换len/2次。但是在本函数中用到了定位函数,定位函数实际上是遍历了一遍整个链表,所以综合效率很低,达到O(n^2). void reverseList1(Node*Head) 思路2:O(n). 就一般的情况而言(
阅读全文
摘要:1. 单链表反转 思路1:O(n^2). “狸猫换太子”,不进行改动链表结构,只首尾交换len/2次。但是在本函数中用到了定位函数,定位函数实际上是遍历了一遍整个链表,所以综合效率很低,达到O(n^2). 思路2:O(n). 就最一般的情况而言(没有之前写的辅助函数,即条件单纯为只有Head指向一个
阅读全文
摘要:线性表 顺序存储实现 (1)如何存储 访问下标为i的元素:L.Data[i] 或 PtrL->Data[i] 线性表的长度:L.Last+1 或者 PtrL->Last+1 (2)初始化(建立空的顺序表) (3)查找 查找成功的平均比较次数为(n+1)/ 2(第一次比较就找到或者最后一次比较才找到)
阅读全文
摘要:题目描述 请编写一个方法,将字符串中的空格全部替换为“%20”。假定该字符串有足够的空间存放新增的字符,并且知道字符串的真实长度(小于等于1000),同时保证字符串由大小写的英文字母组成。 给定一个string iniString 为原始的串,以及串的长度 int len, 返回替换后的string
阅读全文
摘要:计算复杂型函数的阶 1.渐进效率:保留高阶项(增长的阶),忽略掉低阶项和常数项 2.典型增长阶: Θ(1),Θ(lg n),Θ(n½),Θ(n),Θ(nlg n),Θ(n²),Θ(n³),Θ(2^n),Θ(n!) 3.增长记号:Ο(渐进上界:最坏情况)、Θ(渐进紧界)、Ω(渐进下界:最好情况)、 ο
阅读全文