数据结构与算法
親愛の小孩
这个作者很懒,什么都没留下…
展开
-
递归算法(八皇后、逆波兰表达式)
#include"pch.h" #include<iostream> #include<cstdio> using namespace std; int N; int queenPos[100]; void NQueen(int k); void NQueen(int k) { int i; if (k == N) { for (i = 0; i < N; ...原创 2020-04-16 10:49:38 · 108 阅读 · 0 评论 -
分治算法(归并、快速排序)
归并排序: #include"pch.h" #include<iostream> #include<cmath> using namespace std; void Merge(int a[], int s, int m, int e, int tmp[]) { int pb = 0; int p1 = s, p2 = m + 1; while (p1 <= ...原创 2020-04-16 10:48:21 · 142 阅读 · 0 评论 -
数据结构与算法复习二——递归与回溯
一.递归 递归:函数调用本身 把大规模的问题不断变小,再进行推导 经典问题:汉诺塔 写法结构总结: function fn(n){ //第一步:判断输入或者状态是否非法 if(input/state is invalid){ return; } //第二步:判断递归是否应当结束 if(match condition){ return some value; } //第三步:缩小问题规模 resul...原创 2020-03-11 17:09:33 · 138 阅读 · 0 评论 -
数据结构与算法复习笔记一
1.数组、字符串 优点: 构建一个数组非常简单 能让我们在O(1)的时间里根据数组下标查询某个元素 缺点: 构建时必须分配一段连续的空间 查询、删除、添加某个元素时须遍历整个数组 2.链表 单链表:链表中的每个元素实际上是一个单独的对象,而所有对象都通过每个元素中的引用字段链接在一起。 双链表:双链表的每个结点中都含有两个引用字段。 优点:灵活分配空间 缺点:查询元素需要O(n)时间 解题技巧...原创 2020-03-11 15:09:28 · 166 阅读 · 0 评论