C/C++
data_heng
熟练掌握Python和Java语言,主要研究数据挖掘和机器学习方面的理论与实践,熟练掌握分类聚类相关算法。
展开
-
矩阵连乘问题-动态规划求解
矩阵连乘问题 :给定n个矩阵{A1,A2,…,An},其中Ai与Ai+1是可乘的,i=1,2…,n-1。如何确定计算矩阵连乘积的计算次序,使得依此次序计算矩阵连乘积需要的数乘次数最少。c++实现:#include using namespace std; int matrixMul(int i, int j, int p[]) { int **array;//arra原创 2017-02-07 16:59:29 · 522 阅读 · 0 评论 -
今日头条笔试编程题
题目如下截图:思路:第一步先 排序。这个大家都能想到。 第二步,三个为一组。首先看前三个 a1,a2,a3. FIRST 如果a2-a1SECOND 如果 a2-a1>10 && a2-a1THIRD 如果 a2-a1>20 则数量 +2;跳到第2 个,a2,a3,a4,为下一组; FOURTH 如果 a2-a110,则数量+1,跳到第3个,a3,a4原创 2017-08-22 10:51:28 · 1403 阅读 · 0 评论 -
链家网2018秋招内推编程题
凭记忆联想,笔试编程题共有三个:1.求两个数之和。要求:输入a,b,输出a与b之和;例如:输入:1 23 45 6输出:3711C++实现:#includeusing namespace std;int main(){ int a,b; while(cin>>a>>b){ cout<<a+b<<endl; } return 0;原创 2017-08-19 16:21:46 · 1620 阅读 · 0 评论 -
c++实现LeetCode142. Linked List Cycle II
题目要求Linked List CycleGiven a linked list, determine if it has a cycle in it.Follow up: Can you solve it without using extra space?如何判断一个单链表中有环?Linked List Cycle IIGiven a linke原创 2017-07-30 16:08:26 · 609 阅读 · 0 评论 -
c语言实现图的基本操作--邻接矩阵存储
利用邻接矩阵容易判定任意两个顶点之间是否有边(或弧)相连,并容易求得各个顶点的度。c语言代码实现如下:#include#include#define MAX_VER_NUM 50typedef char VertexType;typedef enum{ DG,UDG}GraphType;typedef struct{ VertexType vexs[MAX_VER_NU原创 2017-03-26 18:43:51 · 10303 阅读 · 1 评论 -
c语言实现二叉树的基本操作--二叉链表存储
利用二叉链表存储,并且利用递归的方法实现二叉树的遍历(前序遍历、中序遍历和后续遍历)操作。c语言具体实现代码如下:#include#include#includetypedef int ElemType;//数据类型//定义二叉树结构,与单链表相似,多了一个右孩子结点typedef struct BiTNode{ ElemType data; struct BiTNode原创 2017-03-26 18:36:02 · 15611 阅读 · 5 评论 -
字符串的基本操作--基于堆分配存储
字符串一般简称为串。堆分配存储结构的串有顺序存储结构的特点,处理方便,操作中对串长又没有任何限制,更显灵活,因此选择堆分配存储串。利用c语言实现字符串的基本操作(查找,替换,连接等):c语言实现详细代码如下:#include#include#include#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#原创 2017-03-26 18:29:00 · 4322 阅读 · 0 评论 -
线性表合并
已知线性表LA和LB中的数据元素按值非递减有序排列,现要求将LA和LB归并为一个新的线性表LC,且LC中的数据元素仍按值非递减有序排列且不重复。C实现:#includestruct LinerList{ int *list; int size; int MAXSIZE;};int main(){ int list1[15]={2,5,7,8,11}; int list原创 2017-02-14 22:58:29 · 924 阅读 · 0 评论 -
哈夫曼编码--贪心算法
哈夫曼编码(Huffman Coding)是一种编码方式,是一种用于无损数据压缩的熵编码(权编码)算法。1952年,David A. Huffman在麻省理工攻读博士时所发明的,并发表于《一种构建极小多余编码的方法》(A Method for the Construction of Minimum-Redundancy Codes)一文。 在计算机数据处理中,哈夫曼编码使用变原创 2017-02-14 14:08:27 · 11412 阅读 · 0 评论 -
最小生成树--Prim算法
Prim算法的基本思路:将图中的所有的顶点分为两类:树顶点(已经被选入生成树的顶点)和非树顶点(还未被选入生成树的顶点)。首先选择任意一个顶点加入生成树,接下来要找出一条边添加到生成树,这需要枚举每一个树顶点到每一个非树顶点所有的边,然后找到最短边加入到生成树。依次,重复操作n-1次,直到将所有顶点都加入生成树中。C++实现:#includeusing n原创 2017-02-11 22:09:13 · 404 阅读 · 0 评论 -
单源最短路径--贪心算法
一个点(源点)到其余各个顶点的最短路径。也叫做“单源最短路径”Dijkstra。Dijkstra的主要思想:每次找到离源点最近的一个顶点,然后以该顶点为中心进行扩展,最终得到源点到其余所有点的最短路径用flag标示该点是否在离源点最近的集合中算法步骤:1.初始时,S只包含源点,即P={v},v的距离为0。U包含除v外的其他顶点,即:Q={其余顶点},若v与U中顶点u有边,则正常有权原创 2017-02-10 10:45:24 · 6863 阅读 · 0 评论 -
2018链家校招内推-大数据开发工程师笔试编程题
题目1(如下截图所示):分析:一个排序问题C++实现:#includeusing namespace std;void insertSort(int *a,int *b,int n){ int tmp_a,tmp_b;//监视哨 for(int i=1;i<n;i++){ if(b[i]<b[i-1]){ tmp_b=b[i]; tmp_a=a[i原创 2017-08-22 16:51:31 · 968 阅读 · 0 评论