![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构和算法
2021乐乐
交流学习
展开
-
AT&T 冒泡程序
.section .datavalues: .int 105,235,61,315,134,221,53,145,117,5.section .text.global _start_start: movl $values ,%esi movl $9 ,%ecx movl $9 ,%ebxloop: movl (%esi),%eax ...原创 2020-03-05 19:28:25 · 81 阅读 · 0 评论 -
PCA 主成成分分析方法
参考PCA的数学原理[转]Matlab求方差,均值,均方差,协方差的函数PCA 算法的两个矩阵相乘的意义是将右边矩阵中的每一列列向量变换到左边矩阵中每一行行向量为基所表示的空间中去。更抽象的说,一个矩阵可以表示一种线性变换。上面我们讨论了选择不同的基可以对同样一组数据给出不同的表示,而且如果基的数量少于向量本身的维数,则可以达到降维的效果。将一组N维向量降为K维(K大于0,...转载 2020-02-26 18:56:15 · 164 阅读 · 0 评论 -
最大流算法
最大流问题综述:源节点s ,目的地t,从源节点s和t 之间 ,可以流动的最大量是多少。s和t之间的每一条边f(u,v)/c(u,v) 表示分开流 和容量残存网络: 给定流网络G和流量f ,残存网络Gf 由那些仍有空间对流量进行调整的边构成。一条边所能许可的反向流量最多将其正向流量抵消,3;代码:NODE_SIZE = 10capacity = [ [ 0 for i in ...原创 2019-10-01 16:14:42 · 208 阅读 · 0 评论 -
数据结构基本知识(1)
1:链表的优势在于新增加的元素;而数组在定义的时候已经决定呢内存的空间。链表插入时,只需修改该元素的前一个地址,而数组需要将整体后移。2:链表的缺点在于读取的效率低,为了知道第三个元素,必须知道第二个或者第四个元素。元素只需要知道索引就可以快速查阅该元素。3:数据和链表的运行时间: 数组 链表 读取 O(1) O(N) 插入 O(N) O(...原创 2019-08-14 11:42:13 · 102 阅读 · 0 评论 -
将图中所有点,以x的值为依据进行分类
import jsonimport sysimport sysimport randomsys.setrecursionlimit(1000000) #all_start='0_0'all_end='10000_100000'index=[]re={}visited=[]ans=[]G={}def read_source(): # # with open("r...原创 2019-05-29 17:18:04 · 174 阅读 · 0 评论 -
如何不重复的遍历一种框图
# bian li kuangtu G={'0_12': ['1_12', '0_13'], '5_14': ['4_14', '5_13'], '0_14': ['1_14', '0_13'], '5_12': ['4_12', '5_13'], '2_12': ['2_13', '1_12', '3_12'], '2_13': ['2_12', '2_14', '1_13', '3_13'...原创 2019-05-15 20:11:36 · 450 阅读 · 0 评论 -
欧拉图算法
欧拉图的基本概念以及判定方法转载 2019-05-14 18:07:40 · 1243 阅读 · 0 评论 -
二叉树
本文的二叉树有两个版本,一部分是C语言版本第二部分是python 版本。转载:《算法导论笔记》——十分钟带你了解二叉搜索树(BST)!C Binary Tree with an Example C Code (Search, Delete, Insert Nodes)C语言实现二叉树#include<stdlib.h>#include<stdio.h&g...转载 2019-03-16 18:23:44 · 182 阅读 · 0 评论 -
最小二乘法 python
最小二乘法非常简单,我把它分成两种视角描述:(1)已知多条近似交汇于同一个点的直线,想求解出一个近似交点:寻找到一个距离所有直线距离平方和最小的点,该点即最小二乘解;(2)已知多个近似分布于同一直线上的点,想拟合出一个直线方程:设该直线方程为y=kx+b,调整参数k和b,使得所有点到该直线的距离平方之和最小,设此时满足要求的k=k0,b=b0,则直线方程为y=k0x+b0。转载内容看p...转载 2018-12-07 10:31:25 · 396 阅读 · 0 评论 -
朴素字符串匹配算法
最简单的字符串匹配方法,传说中的在特殊情况的暴力求解:伪代码:naive_string_matcher(t,p): n=len(t) m=len(p) for s =0 to n-m: if p[1..m]==t[s+1..s+m]: print("success!") 具体的代码:str1 = 'a...原创 2018-11-23 10:29:48 · 405 阅读 · 0 评论 -
栈
栈:一种存储结构,FILO原则(先进后出)栈有几种基本操作,栈的初始化,判断栈是否存在,栈的增加元素,栈的删除元素,栈的遍历,栈的遍历,最后是栈的摧毁。#include<stdio.h>#include<stdlib.h>#define stack_size 100#define stack_increase_size 10typedef struct ...原创 2018-11-23 21:27:52 · 345 阅读 · 0 评论 -
python——,冒泡、归并、快排
array=[2,8,7,1,3,5,6,4]def quick_sort(array, l, r): if l < r: q = partition(array, l, r) quick_sort(array, l, q - 1) quick_sort(array, q + 1, r)def partition(arra...转载 2018-11-17 12:50:05 · 141 阅读 · 0 评论 -
拓扑排序
拓扑排序算法:拓扑排序要满足如下两个条件每个顶点出现且只出现一次。 若A在序列中排在B的前面,则在图中不存在从B到A的路径。拓扑排序算法任何无回路的顶点活动网(AOV网)N都可以做出拓扑序列:从N中选出一个入度为0的顶点作为序列的下一顶点。 从N网中删除所选顶点及其所有的出边。 反复执行上面两个步骤,知道已经选出了图中的所有顶点,或者再也找不到入度为非0的顶点时算法结束...原创 2020-03-05 19:37:18 · 96 阅读 · 0 评论 -
匈牙利算法
匈牙利算法就是匹配最大度的问题max_node =100bigraph=[[ False for i in range(max_node)]for j in range(max_node)]parent=[False for i in range(max_node)]visited =[ False for j in range(max_node)]result={}m...转载 2018-11-14 21:36:22 · 184 阅读 · 0 评论 -
BFS、DFS和dijkstra算法 -python
bfs算法,宽度优先搜索算法。def bfs(graph,start): queue,visited = [start],[start] while queue: vertex=queue.pop(0) for i in graph[vertex]: if i not in vis...转载 2018-10-31 17:23:58 · 865 阅读 · 0 评论