
算法与数据结构
kpiss
好记性不如烂笔头
展开
-
Data Struct \ list - insert - re…
//环境 Windows7 sp1 x64,Visual Studio 2010 旗舰版 //语言 C //功能 尾插法建立带头节点的n个节点单向链表的算法// 插入若干个数字// 反转链表#include "stdafx.h"#include "malloc.h" //malloc()函数被包含在malloc.h里面#define min(a,b) (原创 2014-03-10 20:02:28 · 798 阅读 · 0 评论 -
Python最长公共子串和最长公共子序列的实现
最长公共子串(The Longest Common Substring)LCS问题就是求两个字符串最长公共子串的问题。解法就是用一个矩阵来记录两个字符串中所有位置的两个字符之间的匹配情况,若是匹配则为1,否则为0。然后求出对角线最长的1的序列,其对应的位置就是最长匹配子串的位置。[python] view plain copydef find_lcsubstr(s1, s2): m=[...转载 2018-06-04 14:25:36 · 520 阅读 · 0 评论 -
开机时间排名——一个正态分布的应用的案例
开机时间排名——一个正态分布的应用的案例 觉得很有用,但是用不上。 这个肯定是很多人对《统计学》这一门课程的直观感觉,如果这货一点用处都没有,那是不可能的,大学的老师又不傻,没用的课程不会做为基础课程开设。但是你说它有用在哪里,又没有办法举例出来,所以就用不上了。 坦白来讲,我不想开设一门所谓的《傻瓜都能学懂统计学》的类似课程,因为《统计学》是一门高投入,高回报的课程,也就是我们...转载 2018-06-04 10:30:49 · 795 阅读 · 0 评论 -
迪克斯特拉算法-- Dijkstra's Algorithm
在图形应用中,常常需要求从图中某个结点至其余各结点的最短路径,如对于一个物流配送系统计算从配送中心到各订货点的最短路径。Dijkstra's Algorithm 基本思想:若给定带权有向图G=(V,E)和源顶点v0,构筑一个源集合S,将v0加入其中。① 对差集V\S中 个顶点vi,逐一计算从v0 至它的距离 D(v0 , vi ),若该两顶点之间没有边,则其距离为无穷大。求出其中距离最短 ...转载 2018-06-04 09:57:47 · 2309 阅读 · 0 评论 -
Dijkstra算法c语言实现
Dijkstra算法1.定义概览Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点(节点需为源点)到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法是很有代表性的最短路径算法,注意该算法要求图中不存在负权边。 实例:假设有A,B,C,D四个城市,(这里讨论的是有向网) 它们的距离为: A->B(10),A-&g...转载 2018-06-04 09:56:33 · 6783 阅读 · 2 评论 -
如何将中缀表达式转化成后缀表达式
表达式/如何将中缀表达式转化成后缀表达式首先介绍下什么是中缀表达式,后缀表达式。表达式一般分为前缀表达式,中缀表达式和后缀表达式。其中我们最为熟悉的是中缀表达式,也就是书本上最常用的表示形式。中缀表达式是将运算符放在两个操作数的中间。前缀表达式是将运算符放在两个操作数之前。后缀表达式(又称逆波兰表达式)是将运算符放在两个操作数之后。例如:中缀表达式(A+(B-C/D)*E)对应的前缀表达式是(+A...转载 2018-05-07 09:25:53 · 358 阅读 · 0 评论 -
一致性哈希的算法原理
转自 一致性哈希算法原理https://www.cnblogs.com/lpfuture/p/5796398.html一致性Hash算法背景 一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的问题,使得DHT可以在P2P环境中真...转载 2018-04-09 15:38:44 · 229 阅读 · 0 评论 -
Data Struct \ Stack
#环境 Windows7 sp1 x64,Visual Studio 2010 旗舰版 #语言 C #功能 压栈测试// stack.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "malloc.h"#include "stdlib.h" //exit()要用到的头文件#define ElemType int //原创 2014-03-10 20:02:25 · 899 阅读 · 0 评论 -
Data Struct \ bubble sort
//环境 Windows7 sp1 x64,Visual Studio 2010 旗舰版 //语言 C //功能 将数组中的数按从小到大的顺序排序#define NODE intvoid sort_bubble(NODE a[],int n)//从小到大{NODE temp;int i,j,flag;for(j=1;j{flag=0;for(i=1;iif(a[i原创 2014-03-10 20:02:30 · 817 阅读 · 0 评论 -
集合子集
1)集合子集对于给定的集合S={1,2,3},求其所有子集。LintCode一种通常的做法是:对于集合中的任意一个元素e,有两种可能:被选中作为子集中的元素,或否。因此,一个包含N个元素的集合,共有2^N个子集。如上例,其所有子集如下:s0={}, s1={1}, s2={2}, s3={3}, s4={1,2}, s5={2,3}, s6={1,3}, s7={1,2,3}.使用递归很容易写出如...转载 2018-06-07 13:47:11 · 428 阅读 · 0 评论