#数据结构与算法

数据结构——链表

 链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。节点维护变量data和next,分别用于存储数据和指向下一个节点。C#:classNode<T>{privateTdata;privateNode<T>next;publicTDat...
IT猿 IT猿·2020-03-27

数据结构——数组

  数组是程序中最常见的数据结构,它可以存储一个固定大小的相同类型元素的顺序集合(强类型语言)。数组的元素都是由连续的内存位置组成。最低的地址对应第一个元素,最高的地址对应最后一个元素,通过索引可以非常容易找到某一个元素。  大多数时候我们需要使用一个大小可变的数组(C#、Python中的list),本文就基于数组来实...
IT猿 IT猿·2020-03-27

[算法天天练]堆排序

#include<iostream>#include<algorithm>usingnamespacestd;voidHeapAdjust(int*a,inti,intsize)//调整堆{intlchild=2*i;//i的左孩子节点序号intrchild=2*i+1;//i的右孩子节点序号i...
IT猿 IT猿·2020-03-27

[转][算法天天练]堆与堆排序

堆排序与快速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。学习堆排序前,先讲解下什么是数据结构中的二叉堆。二叉堆的定义二叉堆是完全二叉树或者是近似完全二叉树。二叉堆满足二个特性:1.父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。2.每个结点的左子树和右子树都是一个二叉堆(都是最...
IT猿 IT猿·2020-03-27

[算法天天练]选择排序法

#include<stdio.h>voidshow(intarr[],intlength){for(inti=0;i<length;i++){printf("%d",arr[i]);}printf("");}void_swap(int*a,int*b){inttmp=*a;*a=*b;*b=tmp;}...

[算法天天练]插入排序算法

#include<stdio.h>voidshow(intarr[],intlength){for(inti=0;i<length;i++){printf("%d",arr[i]);}printf("");}voids_insert(intarr[],intlength){if(length<0...

[算法天天练] 归并排序

要实现归并排序递归方法:第一步:先将原来的数据表分成排好序的子表,然后调用合并函数对子表进行归并,使之成为有序表例如有如下向量:⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾25,10,7,19,3,48,12,17,56,30,21/25,10,7,19,348,12,17,56,30,21//25,107,19,348,12,1756,3...

[算法天天练]快速排序

快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,作为面试题来考试。该方法的基本思想是:1.先从数列中取出一个数作为基准数。2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。3.再对左右区间重复第二步,直到各区间只有一个数。以一个数组作为示例,取区间第一个...

【转帖】常见的排序算法

 总结一下常见的排序算法。 排序分内排序和外排序。内排序:指在排序期间数据对象全部存放在内存的排序。外排序:指在排序期间全部对象个数太多,不能同时存放在内存,必须根据排序过程的要求,不断在内、外存之间移动的排序。内排序的方法有许多种,按所用策略不同,可归纳为五类:插入排序、选择排序、交换排序、归并排...

[算法天天练]冒泡排序

/**冒泡排序*核心原来:每次比较两个相邻的元素,如果它们的顺序不符合要求就把它们交换*每趟只能确定一个数归位*冒泡算法的时间复杂度为O(N*N),除了名字有点儿意思外,确实效率不高*/voidBubbleSort(intarray[],intlength){  inttmp;  for(i=0;i<length...

[算法天天练]桶排序

【问题】:如果有一组数据a[]={0,9,2,3,4,5,3,5,2,8},对它进行从小到大的顺序排列 #include<stdio.h>voidBucketSort(){inti,j;inta[]={0,9,2,3,4,5,3,5,2,8};intb[10]={0};intiaSize=size...
IT猿 IT猿·2020-03-27

[算法天天练]关于单链表的操作有环无环判断

#include<stdio.h>#include<stdlib.h>//有环链表的各种函数测试typedefstructNode{intdata;structNode*next;}Node;typedefstructNode*LinkList;/*链表初始化*/intInitList(Link...

[算法天天练]

双向链表是比较常见的,主要是在链表的基础上添加prev指针,闲话少说直接上代码吧(这个也是网上一个大神的思路,真心不错,条理清楚,逻辑缜密)主要也是为了学习,贴上我所调试成功的代码(Linux环境下)双向链表代码:1#include<stdio.h>2#include<stdlib.h>34ty...
IT猿 IT猿·2020-03-27

最短路径之Floyd算法

Floyd算法又称弗洛伊德算法,也叫做Floyd'salgorithm,Roy–Warshallalgorithm,Roy–Floydalgorithm, WFIalgorithm。Floyd算法是一种在有权图中(有确定的非负的权值,不能存在环路)查找最短路径的算法。该算法的一次简单执...

Detectron系统实现了最先进的物体检测算法https://github.com/facebookresearch/Detectron

 ,包括MaskR-CNN。它是用Python编写的,支持Caffe2深度学习框架。 不久前,FAIR才开源了语音识别的工具wav2letter,戳这里看大数据文摘介绍《快讯|Facebook开源语音识别工具包wav2letter》。这一系列工具的开源,将使更多研究人员能使用到Facebook的平台...
首页上一页...126127128129130...下一页尾页