摘要: 0x00数据结构——C语言实现(多项式) /*filename:polynomial*/ #ifndef POLYNOMIAL #define POLYNOMIAL //一元多项式的表示 //Pn(x)=p0 + p1*x + p2*x^2 + ... + pn*x^n /* 基本操作: 创建一个有 阅读全文
posted @ 2018-04-24 16:30 main_c 阅读(445) 评论(0) 推荐(0)
摘要: 0x00数据结构——C语言实现(双向循环链表) /* 循环双链表 Functions: (在链表中增加附加头结点的版本) 创建一个空线性表 将链表置为空表 计算表长度 返回附加头结点的地址 搜索函数:找x在表中的位置,返回表项位置 定位函数:返回第i个表项在表中的位置 取第i个表项的值 用x修改第i 阅读全文
posted @ 2018-04-23 21:19 main_c 阅读(188) 评论(0) 推荐(0)
摘要: 0x00数据结构——C语言实现(单向循环链表) /*filename:circular_list.h*/ /* 循环链表(circular list)是另一种形式的表示线性表的链表,与单链表不同的是, 表尾结点的link域中不是NULL而是存放指向链表开始结点的指针。 Functions: 创建一个 阅读全文
posted @ 2018-04-23 21:17 main_c 阅读(250) 评论(0) 推荐(0)
摘要: 0x00数据结构——C语言实现(双链表) /*filename:double_linked_list.h*/ /* 双链表(double linked list) Functions: (在链表中增加附加头结点的版本) 创建一个空线性表 将链表置为空表 计算表长度 返回附加头结点的地址 搜索函数:找 阅读全文
posted @ 2018-04-23 21:13 main_c 阅读(136) 评论(0) 推荐(0)
摘要: 0x00数据结构——C语言实现(单链表) /*filename:singly_linked_list.h*/ /* 单链表(singly linked list)是一种最简单的链表表示,也叫做线性链表。 用它来表示线性表时,用指针表示结点间的逻辑关系。 Functions: (在链表中增加附加头结点 阅读全文
posted @ 2018-04-23 21:09 main_c 阅读(196) 评论(0) 推荐(0)
摘要: 聊天程序实现 用多进程方式实现点对点聊天 一个进程用来获得输入,一个进程用来获得对方发来的消息 客户端 //p2pcli.c #include <stdio.h> #include <string.h> #include <stdlib.h> #include <sys/socket.h> #inc 阅读全文
posted @ 2018-04-10 15:47 main_c 阅读(148) 评论(0) 推荐(0)
摘要: 回射客户/服务器 客户端从标准输入获取一行数据,然后发送到服务器; 服务器收到信息后,不处理消息内容,直接将消息内容原封不动地发送给客户端; 客户端收到后,在标准输出上打印出来。 TCP回射客户/服务器程序 服务器端 /**************************************** 阅读全文
posted @ 2018-04-10 15:46 main_c 阅读(104) 评论(0) 推荐(0)
摘要: TCP时间服务器 1. 流式套接字客户端/服务器编程 拟实现一个基本的流式套接字客户端/服务器通信程序。在该程序中,客户端和服务器将按照如下步骤交互: 客户端向服务器发出日期时间请求字符串,如:%D %Y %A %T 等。 服务器从网络接收到日期请求字符串后,根据字符串格式生成对应的日期时间值返回给 阅读全文
posted @ 2018-04-10 15:45 main_c 阅读(182) 评论(0) 推荐(0)
摘要: 目录套接字基本概念创建套接字域和地址族套接字地址通用套接字地址Internet(IPv4)套接字地址流式套接字和数据报套接字流式套接字(SOCK_STREAM)数据报套接字(SOCK_DGRAM)使用套接字创建套接字函数socket连接请求函数connect绑定本地地址函数bind监听函数liste 阅读全文
posted @ 2018-04-10 15:44 main_c 阅读(230) 评论(0) 推荐(0)
摘要: C语言字节对齐[1][2][3][4][5] 不同系统下的C语言类型长度 Data Type ILP32 ILP64 LP64 LLP64 char 8 8 8 8 short 16 16 16 16 int 32 64 32 32 long 32 64 64 32 long long 64 64 阅读全文
posted @ 2018-03-22 20:41 main_c 阅读(3984) 评论(1) 推荐(0)
摘要: Docker概述[1][2][3] Docker的概念 Docker是一个开源平台,它包含容器引擎和Docker Hub注册服务器。 Docker容器引擎:该引擎可以让开发者打包它们的应用和依赖包到一个可移植的容器中,然后将其发布到任何流行的Linux机器上。 Docker Hub注册服务器:用户可 阅读全文
posted @ 2018-03-05 10:14 main_c 阅读(295) 评论(0) 推荐(0)
摘要: MATLAB常用命令 命令 功能 clc 擦除命令 clear 清除工作空间中所有的变量 clear all 从工作空间中清除所有变量和函数 clf 清除图形窗口信息 error 显示错误信息 who 显示当前空间中所有变量的一个简单列表 whos 列出变量的大小、数据格式等详细信息 what 列出 阅读全文
posted @ 2018-02-27 20:55 main_c 阅读(1639) 评论(0) 推荐(0)
摘要: 凸优化 内积 定义在n维实向量集合\(R^n\)上的标准内积为,对任意的\(x,y\in R^n\), \[<x,y>=x^Ty=\sum_{i=1}^nx_iy_i \]采用符号\(x^Ty\)代替\(<x,y>\)。向量\(x\in R^n\)的Euclid范数,或\(l_2\)-范数,定义为 阅读全文
posted @ 2018-02-27 20:38 main_c 阅读(552) 评论(0) 推荐(0)
摘要: LaTex字体、符号汇总[1] 字体表 \begin{array}{ll|l} \texttt{"normal"} &\texttt{} & ABCDEFGHIJKLMNOPQRSTUVWXYZ\\ \texttt{"blackboard"} &\texttt{\mathbb} &\mathbb{A 阅读全文
posted @ 2018-01-10 12:11 main_c 阅读(1035) 评论(0) 推荐(0)
摘要: 参考书籍:算法设计与分析——C++语言描述(第二版) 求解困难问题 @目录求解困难问题NP完全问题不确定算法和不确定机不确定算法的抽象机模型不确定算法时间复杂度P类和NP类问题NP难度和NP完全问题Cook定理一些典型的NP完全问题小结随机算法基本概念近似算法基本概念绝对性能保证相对性能保证近似方案 阅读全文
posted @ 2018-01-10 10:53 main_c 阅读(908) 评论(0) 推荐(0)
摘要: 参考书籍:算法设计与分析——C++语言描述(第二版) 算法设计策略-分枝限界法 批处理作业调度 问题描述 设有n个作业的集合\(\{0,1,\cdots,n-1\}\),每个作业有两个项任务要求依次在两台设备\(P_1\)和\(P_2\)上完成,\(a_i\)和\(b_i\)分别表示作业i在设备\( 阅读全文
posted @ 2018-01-10 10:52 main_c 阅读(320) 评论(0) 推荐(0)
摘要: 参考书籍:算法设计与分析——C++语言描述(第二版) 算法设计策略-分枝限界法 带时限的作业排序 问题描述 对于单机处理机的带时限作业排序问题,如果每一个作业具有相同的处理时间,则可以用贪心法求解。如果每个作业的处理时间允许不同,带时限的作业排序问题可描述为:设有n个作业和一台处理器,每个作业所需的 阅读全文
posted @ 2018-01-09 11:11 main_c 阅读(628) 评论(0) 推荐(0)
摘要: 参考书籍:算法设计与分析——C++语言描述(第二版) 算法设计策略-分枝限界法 一般而言,回溯法的求解目标是在状态空间树上找出满足约束条件的所有解,而分枝限界法的求解目标则是找出满足约束条件的一个解,或是在满足约束条件的解中找出最优解。 分枝限界法 分枝限界法概述 相关概念: 未访问状态:结点尚未访 阅读全文
posted @ 2018-01-09 11:10 main_c 阅读(749) 评论(0) 推荐(0)
摘要: 参考书籍:算法设计与分析——C++语言描述(第二版) 算法设计策略-回溯法 0/1背包 问题描述 回溯法求解 限界函数 0/1背包算法 批处理作业调度 问题描述 设有n个作业的集合\(\{0,1,\cdots,n-1\}\),每个作业有两项任务,要求分别在两台设备\(P_1\)和\(P_2\)上完成 阅读全文
posted @ 2018-01-09 11:08 main_c 阅读(352) 评论(0) 推荐(0)
摘要: 参考书籍:算法设计与分析——C++语言描述(第二版) 算法设计策略-回溯法 子集和数 问题描述 已知n个不同的正数\(w_i(0\leq i\leq n-1)\)的集合,求该集合的所有满足条件的子集,使得每个子集中的正数之和等于另一个给定的正数\(M\)。 回溯法求解 对于子集和数问题问题,可采用两 阅读全文
posted @ 2018-01-09 11:07 main_c 阅读(462) 评论(0) 推荐(0)
摘要: 参考书籍:算法设计与分析——C++语言描述(第二版) 算法设计策略-回溯法 回溯法是比贪心法和动态规划法更一般的方法,回溯法是一种通过搜索状态空间树来求问题的可行解或最优解的方法。回溯法使用约束函数和限界函数来压缩需要实际生成的状态空间树的结点数,从而大大节省问题的求解时间。通常情况下,回溯法是为了 阅读全文
posted @ 2018-01-09 11:06 main_c 阅读(1260) 评论(0) 推荐(0)
摘要: 参考书籍:算法设计与分析——C++语言描述(第二版) 算法设计策略-动态规划法 流水作业调度 问题描述 假定处理一个作业需要执行若干项不同类型的任务,每一类任务只能在某一台设备上执行。设一条流水线上有n个作业\(J=\{J_0,J_1,\cdots,J_{n-1}\}\)和m台设备\(P=\{P_1 阅读全文
posted @ 2018-01-09 11:05 main_c 阅读(602) 评论(0) 推荐(0)
摘要: 参考书籍:算法设计与分析——C++语言描述(第二版) 算法设计策略-动态规划法 最优二叉搜索树 问题描述 二叉搜索树运算有很好的平均时间复杂度(\(O(\log n\)),但可能会产生退化的树形,是搜索时间变坏。二叉平衡树限制了输的高度,使搜索运算的最坏情况时间位\(O(\log n)\)。 以上分 阅读全文
posted @ 2018-01-09 11:04 main_c 阅读(320) 评论(0) 推荐(0)
摘要: 参考书籍:算法设计与分析——C++语言描述(第二版) 算法设计策略-动态规划法 矩阵连乘 问题描述 给定n个矩阵\(\{A_0,A_1,\cdots,A_{n-1}\}\),其中\(A_i(i=0,\cdots,n-1)\)的维数为\(p_i\times p_{i+1}\),并且\(A_i\)与\( 阅读全文
posted @ 2018-01-09 11:01 main_c 阅读(402) 评论(0) 推荐(0)
摘要: 参考书籍:算法设计与分析——C++语言描述(第二版) 算法设计策略-动态规划法 资源分配问题 资源分配问题 将n个资源分配给r个项目,已知如果把j个资源分配各第i个项目,可以收益\(N(i,j),0\leq j\leq n,1\leq i\leq r\),求总收益最大的资源分配方案。 这一问题可以用 阅读全文
posted @ 2018-01-09 11:00 main_c 阅读(598) 评论(0) 推荐(0)
摘要: 参考书籍:算法设计与分析——C++语言描述(第二版) 练习一 逆序输出正整数的各位数(递归算法求解) #include <stdio.h> //逆序输出正整数的各位数(递归算法求解) void print(unsigned int n) { printf("%d", n%10);//基础情况 if( 阅读全文
posted @ 2018-01-09 10:57 main_c 阅读(672) 评论(0) 推荐(0)
摘要: 参考书籍:算法设计与分析——C++语言描述(第二版) 算法设计策略-动态规划法 动态规划法 动态规划算法是另一种求解最优化问题的重要算法设计策略。对于一个问题,如果能从较小规模的子问题的最优解求得较大规模同类子问题的最优解,最终得到给定问题的最优解,这就是最优解的最优子结构特性。最优子结构特性使动态 阅读全文
posted @ 2018-01-08 20:44 main_c 阅读(896) 评论(0) 推荐(0)
摘要: 参考书籍:算法设计与分析——C++语言描述(第二版) 算法设计策略-贪心法 单源最短路径 问题描述 单源最短路径问题是:给定带权的有向图\(G=(V,E)\)和图中结点\(s\in V\),求从s到其余各结点的最短路径,其中s称为源点。这里所指的路径长度是指路径上的边所带的权值之和,并假定边上的权值 阅读全文
posted @ 2018-01-08 20:42 main_c 阅读(621) 评论(0) 推荐(0)
摘要: 参考书籍:算法设计与分析——C++语言描述(第二版) 算法设计策略-贪心法 最小代价生成树 问题描述 一个无向连通图的生成树是一个极小连通子图,它包括图中全部的结点,并且尽可能少的边。遍历一个连通图得到图的一颗生成树。 一颗生成树的代价是树中各条边上的代价之和。一个网络的各个生成树中,具有最小代价的 阅读全文
posted @ 2018-01-08 20:41 main_c 阅读(398) 评论(0) 推荐(0)
摘要: 目录算法设计策略-贪心法带时限的作业排序问题描述贪心法求解算法正确性可行性判定作业排序贪心算法一种改进算法最佳合并模式问题描述贪心法求解算法正确性 参考书籍:算法设计与分析——C++语言描述(第二版) 算法设计策略-贪心法 带时限的作业排序 问题描述 带时限得到作业排序问题:设有一个单机系统、无其他 阅读全文
posted @ 2018-01-08 20:41 main_c 阅读(1089) 评论(0) 推荐(2)
摘要: 目录算法设计策略-贪心法贪心法背包问题问题描述一般背包问题的贪心法求解贪心法的基本要素最优量度标准最优子结构小结 参考书籍:算法设计与分析——C++语言描述(第二版) 算法设计策略-贪心法 贪心法 贪心法是一种求解最优化问题的算法设计策略。 贪心法是通过分步决策(stepwise decision) 阅读全文
posted @ 2018-01-08 20:38 main_c 阅读(535) 评论(0) 推荐(0)
摘要: 参考书籍:算法设计与分析——C++语言描述(第二版) 算法设计策略-分治法 选择问题 问题描述 选择问题(select problem)是指在n个元素的集合中,选出某个元素值大小在集合中处于第k位的元素,即所谓的求第k小元素问题(Kth-smallest)。 分治法求解 如果使用快速排序中所采用的选 阅读全文
posted @ 2018-01-08 20:37 main_c 阅读(492) 评论(0) 推荐(0)
摘要: 参考书籍:算法设计与分析——C++语言描述(第二版) 算法设计策略-分治法 排序问题 问题描述 排序是将一个元素序列调整为按指定关键字值的递增(或递减)次序排列的有序序列。 分治法求解 分治法求解排序问题思想:按某种方式将序列分成两个或多个子序列,分别进行排序,再将已排序的子序列合并成一个有序序列。 阅读全文
posted @ 2018-01-08 20:36 main_c 阅读(409) 评论(0) 推荐(0)
摘要: 参考书籍:算法设计与分析——C++语言描述(第二版) 算法设计策略-分治法 二分搜索 问题描述 在有序表(已按关键字值非减排序)中搜索给定元素的问题。 分治法求解 设有一个长度为n的有序表\((a_0,a_1,\cdots,a_{n-1})\),要求在表中搜索与给定元素x有相同关键字值的元素。若\( 阅读全文
posted @ 2018-01-08 20:35 main_c 阅读(532) 评论(0) 推荐(0)
摘要: 参考书籍:算法设计与分析——C++语言描述(第二版) 算法设计策略-分治法 分治法 分治法的基本思想 分治法就是分而治之,一个问题能够用分治法求解的要素是:第一,问题能够按照某种方法分解成若干个规模较小,相互独立且与原问题类型相同的子问题;第二,子问题足够小时可以直接求解;第三,能够将子问题的解组合 阅读全文
posted @ 2018-01-08 20:35 main_c 阅读(355) 评论(0) 推荐(0)
摘要: 参考书籍:算法设计与分析——C++语言描述(第二版) 算法问题求解基础 1. 算法概述 算法(algorithm)是求解一类问题的任意一种特殊的方法。教严格的说法是,一个算法是对特定问题求解步骤的一种描述,它是指令的有限序列。 算法具有下面五个特征: 输入(input):算法有零个或多个输入量 输出 阅读全文
posted @ 2018-01-08 20:32 main_c 阅读(1308) 评论(0) 推荐(0)
摘要: Beamer中数学符号字体 在beamer中如果不另行设置的话,默认的数学字体挺丑的,为了使与文章类中的符号一样,可在导言区添加一条命令: \usefonttheme[onlymath]{serif}。自然可以在\documentclass选项里面设定,这样做是全文serif字体,不符合自由定制规范 阅读全文
posted @ 2017-12-21 18:54 main_c 阅读(1451) 评论(0) 推荐(0)
摘要: Graphviz入门 目录Graphviz入门安装Graphvizgraphviz简介第一个graphviz图设置点和线的形状和颜色设置点和线的位置,子图的概念数据结构的可视化一个hash表的数据结构状态图其他实例一棵简单的抽象语法树(AST)简单的UML类图状态图时序图复杂实例Reference 阅读全文
posted @ 2017-12-07 20:40 main_c 阅读(6890) 评论(1) 推荐(0)
摘要: MapReduce 与函数式编程 MapReduce 的抽象受到Lisp和其他函数式语言中的map和reduce原语的启发。map和reduce(fold)函数都是属于在函数式编程语言中的高阶函数。map函数的功能是接受一个列表list以及一个函数,将这个函数作用于这个列表中的所有成员,并返回所得结 阅读全文
posted @ 2017-11-20 16:44 main_c 阅读(236) 评论(0) 推荐(0)
摘要: 安装whl文件 1. 用管理员打开cmd 2. 首先通过pip命令安装wheel pip install wheel 如果提示’pip’不是内部或外部命令,也不是可运行的程序或批处理文件 将python安装目录下的scripts目录(例如D:\Python27\Scripts)添加到系统环境变量pa 阅读全文
posted @ 2017-11-20 16:42 main_c 阅读(3898) 评论(0) 推荐(0)