摘要:Array类定义#include using namespace std;template class Array{public: Array(){ cout m_size-1; i++) { cout a[i] a[m_size-1] a(...
阅读全文
随笔分类 - 数据结构和算法
摘要:和为0的最长子序列问题注意:1、输入格式 1 2 3 4 5 6 以回车结束,应该怎么读取? 考虑两点:回车结束判断 和 数组长度未定义?while(temp = cin.get()!='\n'){ cin.unget(); cin >> temp; vector.pushback(temp)...
阅读全文
摘要:记录链表操作数据(1)新建链表(2)插入新节点(3)打印链表关键问题:二级指针,链表头修改。// ConsoleApplication11.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include using namespace std;typedef st...
阅读全文
摘要:// ConsoleApplication11.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include using namespace std;typedef struct TreeNode{ int data; struct TreeNode * pLe...
阅读全文
摘要:两种方法实现Fibonacci数列。考虑性能对比。方法1:迭代(考虑合成效益法则等问题)方法2:保存上一个值和当前值,用空间换时间,循环算法复杂度O(n)方法3: 矩阵乘法计算 复杂度O(logn)运行结果如下:使用迭代方法计算: 89使用循环方法计算89fib[0]: 34fib[1]: 55fi...
阅读全文
摘要:题目:URL中不允许出现空格等特殊字符,因此需要将用户输入的URL转义输出。如空格对应的ASCII码为32 即0x20,因此用%20代替。如 "we are one" 变换成"we%20are%20one"。要求程序的时间复杂度为O(n)。思考:方法一:从头到尾遍历,找到空格后,依次将空格后面元素后...
阅读全文
摘要:一、常用的排序算法及特点快速排序选择排序冒泡排序堆排序归并排序希尔排序桶排序1、快速排序是不稳定的,最坏时间复杂的O(n^2),平均和最好时间负责度均为O(nlogn)。它的基本思想是分治。(1)从序列中找出一个pivot,(2)然后将数组中的元素分别与pivot比较,放在pivot的两侧,分成了连...
阅读全文
摘要:在日常的算法中,查找是一个经常涉及到的话题,而如何提高查找的速度,也是很多程序员、软件研究的话题。1、问题的提出:有这样一个数据类型S:学生姓名(name),性别(sex),年龄(age)。。。,现在假设有这样一个需求;文件A、B中分别存放大量S的记录,需要将A、B中重复的记录去掉。我们用c代...
阅读全文