![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
。。。
vuscity
勇于探索 坚持学习
展开
-
进制转换
文章目录1 进制转换1 进制转换10进制 <==> P进制P<=10:0~9p>10:0~9,A,B,C…p = 8:168 【10】= 82∗(2)+8∗(5)+(0)8^2*(2) + 8*(5) + (0)82∗(2)+8∗(5)+(0) = 250【8】p = 13: 129 【10】= 8∗(9)+(12)8*(9) + (12)8∗(9)+(12) = 9C【13】#include<cstdio>#include<string>原创 2020-07-02 13:19:32 · 201 阅读 · 0 评论 -
哈希存储:字符串存储、数字存储
文章目录哈希1. N<10^5 && 非负整数【直接定址】2. N>10^5 || 其他数 || 字符串(len较小)字符串(len较大)哈希(1)散列函数:映射直接定址:恒等变换:H[key] = key【常用】线性变换:H[key] = a*key + b除留余数: H[key] = key % mod【常用】(H的表长TSize>=mod:令TSize=素数,mod=TSize)平方取中直接用map实现hash解决冲突:线性探查若对于原创 2020-07-15 10:25:24 · 1287 阅读 · 0 评论 -
链表的基本操作(单链表)
文章目录1 单链表链表的基本操作创建(头插法 / 尾插法)遍历查找(按值 / 按位置)插入删除1 单链表#include<cstdio>#include<cstdlib>using namespace std;typedef struct LNode{ int data; struct LNode *next;}LNode;int n; //链表长度// 创建:头插法(逆序)void create_head(LNode原创 2020-06-14 21:29:20 · 214 阅读 · 0 评论 -
最大连续子序列和(4种算法)
文章目录1 算法12 算法23 算法3(分治)4 算法4(在线处理,最快)问题:已知 一个整数序列a[n]:n个整数(有正负)求 在这个序列的所有子序列(连续)中,最大的和是多少?注意:以下代码都要求最大和 【可为负数】,若要求最大和 【非负】,只需最后判断一下即可1 算法1#include<cstdio>using namespace std;// 整数序列a[n]int max_subseq_sum1(int a[], int n){ int max_s原创 2020-05-24 15:21:55 · 5736 阅读 · 1 评论 -
shortest path problem
带权图 1. 单源点 最短路径问题: Dijkstra,(可用 priority_queue 优化) 2. 任意两点最短路径问题:Floyd邻接矩阵 的 Dijkstra 算法: 第一步:在S-V中,选择一个d[v]最小的点v,将v加入S,d[v]为它的最终值 第二步:在S-V中,找到一个待更新最短路径的点u(因为S中添入了V),更新u的最短路径(暂时的) 和 前置点#incl原创 2017-04-03 18:18:24 · 338 阅读 · 0 评论 -
Graph——bfs,dfs
做个记录:BFS——queue实现#include<iostream>#include<cstring>#include<queue>using namespace std;#define N 100struct Graph{ int vexnum; int arcnum; char vexs[N]; int arcs[N][N]; };int Loc_ve原创 2017-03-22 17:22:11 · 365 阅读 · 0 评论 -
Graph
邻接矩阵(稠密图) 邻接表(稀疏图)原创 2017-03-15 15:08:52 · 374 阅读 · 0 评论 -
weightad interval scheduling problems
所有区间调度问题,可详见 http://blog.csdn.net/yutianzuijin/article/details/45116705# 向原作者致敬!原创 2017-02-21 16:06:11 · 810 阅读 · 0 评论 -
GS problem: stable matching
背景提出:市场一方中的对象(医疗机构)向另一方中的对象(医学院学生)提出要约,每个学生会对自己接到的要约进行考虑,然后抓住自己青睐的(认为它是可接受的),拒绝其它的。该算法一个关键之处在于,合意的要约不会立即被接受,而只是被“抓住”(hold on to),也就是“延迟接受”。要约被拒绝后,医疗机构才可以向另一名医学院学生发出新的要约。整个程序一直持续到没有机构再希望发出新的要约为止,到那个时候,学原创 2017-02-21 14:31:53 · 688 阅读 · 0 评论 -
双栈共享
双栈共享:将编号为0和1的两个栈存放于一个数组空间V[m]中,栈底分别处于数组的两端。当第0号栈的栈顶指针top[0]等于-1时该栈为空;当第1号栈的栈顶指针top[1]等于m时,该栈为空。两个栈均从两端向中间增长(见下图)。原创 2016-11-13 22:31:38 · 1130 阅读 · 0 评论 -
中缀表达式求值、后缀表达式求值、中缀转后缀、前缀
中缀表达式求值、后缀表达式求值、中缀转后缀原创 2016-11-13 10:14:30 · 1029 阅读 · 0 评论