数据结构
文章平均质量分 50
与狼共舞-C
这个作者很懒,什么都没留下…
展开
-
股票买卖问题
很多读者抱怨股票系列问题奇技淫巧太多,如果面试真的遇到这类问题,基本不会想到那些巧妙的办法,怎么办?所以本文拒绝奇技淫巧,而是稳扎稳打,只用一种通用方法解决所用问题,以不变应万变。 这篇文章用状态机的技巧来解决,可以全部提交通过。不要觉得这个名词高大上,文学词汇而已,实际上就是 DP table,看一眼就明白了。 先随便抽出一道题,看看别人的解法: int maxProfit(vector&...转载 2020-01-13 20:31:09 · 931 阅读 · 1 评论 -
排序算法整理
#include "stdio.h" #include "stdlib.h" #include "io.h" #include "math.h" #include "time.h" #define MAXSIZE 10 typedef struct { int r[MAXSIZE]; int length; }SqList; void swap(SqList* L,...原创 2017-03-04 16:09:31 · 210 阅读 · 0 评论 -
KMP模式匹配
#include using namespace std; int strlen(char* S) { int i = 0; int counter = 0; while (S[i] != '\0') { i++; counter++; } return counter; } void get_next(char* T, int *next) { int i =0,j = -原创 2017-01-19 17:34:06 · 217 阅读 · 0 评论 -
斐波那契查找
int F[] = {0,1,1,2,3,5,8,13,21,34}; //斐波那契数组 int research2(int*a, int n, int key) { int low = 0,high = n - 1,mid; int k = 0; while (n-1 > F[k]-1) k++; for (int i = n; i < F[k]-1; i++) a[i]原创 2017-02-16 19:39:42 · 160 阅读 · 0 评论 -
逆波兰表达式实现
#include #include using namespace std; //把一个算式先转化为逆波兰表达式 int Priority(char ch)//定义优先级别 { int i; switch (ch) { case'(':i = 1; break; case'+':i = 2; break; case'-':i = 2; break; case'*':i = 4转载 2017-01-12 10:48:00 · 332 阅读 · 0 评论 -
插入排序与归并排序
void InsertSort(int a[], int n) //插入排序 { int i,j = 2; int key; for (j = 2; j < n; j++) { key = a[j]; //key为要比较的元素 i = j - 1; while (i > 0 && a[i] > key) //如果j前面的元素a[i]大于key则后移a[i]原创 2016-08-08 22:14:13 · 265 阅读 · 0 评论