数据结构
Lin_junhan
这个作者很懒,什么都没留下…
展开
-
快速排序
每次都找一个枢纽(下面代码用数组的最后一个),将它放到正确的位置,再把这个枢纽位置的俩边进行递归。func quickSort(arr []int, l, r int) { if l < r { mid := partionSort(arr, l, r) quickSort(arr, l, mid[0]-1) quickSort(arr, mid[0]+1, r) }...原创 2020-01-31 22:19:49 · 215 阅读 · 0 评论 -
荷兰国旗问题
问题一: 给定一个数组,和一个数num,把小于等于num的数放在数组的左边,大于num的数放在右边。使用一个指针(代码中为数组下标less)存储数组中小于num的区间,从-1开始。 使用另一个指针来遍历数组(代码中为index),遍历过程中将小于等于num的数归入左边区间,数组下标下移。func partion(arr []int, target int) { // 将小于等于targ...原创 2020-01-31 11:07:56 · 283 阅读 · 0 评论 -
由递归排序引申出的小和问题和逆序数对问题
递归排序的思想是将带牌列数组不断的拆成俩部分,再将有序的左右的俩部分合并。小和问题:在一个数组中,每一个数左边比当前小的数累加起来,叫做这个数组的小和。求一个数组的小和。逆序对问题,在一个数组中,打印出数组所有左边数大于右边数的组合。下面是归并排序的代码(go语言)// 写一个归并排序func mergeSort(arr *[]int, l, r int) { // 这部分是...原创 2020-01-30 18:02:12 · 252 阅读 · 0 评论 -
神经网络:线性回归和softmax函数回归(结合mxnet框架)
线性回归输出的是一个连续值,因此适用于回归问题;而softmax回归则适用于分类问题。线性回归的基本要素:模型:, 其中x1, x2是影响输出结果的各个样本的特征值, w1, w2是对应特征的权重,b是偏差值。模型训练:训练的过程,通过训练样本的数据寻找接近正确的各参数,使模型在测试数据集上的误差尽可能小。训练数据:在机器属于中,用来训练模型的数据集称为训练数据集或训练集,数...原创 2019-08-17 23:26:56 · 1080 阅读 · 0 评论 -
朴素贝叶斯分类器算法
1. 朴素贝叶斯分类器概述2. 贝叶斯决策论 2.1 后验概率 2.2 贝叶斯定理3. 朴素贝叶斯分类算法原理4. 朴素贝叶斯分类的优缺点1. 朴素贝叶斯分类器概述:贝叶斯分类算法是统计学的一种分类方法,它是一类利用概率统计知识进行分类的算法。在许多场合,朴素贝叶斯(Naïve Bayes,NB)分类算法可以与决策树和神经网络分类算法相媲美,该算法能运...原创 2019-08-14 18:53:58 · 622 阅读 · 0 评论 -
决策树算法
1. 决策树概述2. 决策树的原理3. 决策树的特点4. 决策树的构造和算法1.决策树概述:决策树算法是一种逼近离散函数值的方法。它是一种典型的分类方法,首先对数据进行处理,利用归纳算法生成可读的规则和决策树,然后使用决策对新数据进行分析。本质上决策树是通过一系列规则对数据进行分类的过程。决策树是常用的分类学习算法,当然也能用于处理回归问题,同时也适合集成学习比如随机森林...原创 2019-08-14 17:52:08 · 2711 阅读 · 0 评论 -
数据结构有向加权图(采用邻接矩阵存储结构)
1题目:元素类型:字符存储结构:邻接矩阵抽象数据类型:有向加权图 ADT List{ 数据对象:D={ ai | ai∈ElemSet, i=1,2,...,n, n≥0 } 数据关系:R1={ <ai-1, ai>|ai-1, ai∈D, i=2,...,n } 基本操作:Status...原创 2019-01-15 15:47:43 · 3617 阅读 · 0 评论 -
银行业务模拟(数据结构课设C语言实现)
题目: 银行业务模拟(难度系数:1.3) [运行环境]VS[问题描述]客户业务分为两种。第一种是申请从银行得到一笔资金,即取款或借款。第二种是向银行投入一笔资金,即存款或还款。银行有两个服务窗口,相应地有两个队列。客户到达银行后先排第一个队。处理每个客户业务时,如果属于第一种,且申请额超出银行现存资金总额而得不到满足,则立刻排入第二个队等候,直至满足时才离开银行;否则业务处理完...原创 2019-01-15 15:43:03 · 9801 阅读 · 10 评论 -
数据结构anyview复习题
1、下面这道题主要注意下循环条件 n < i-1;/**********【题目】试写一算法,在带头结点单链表L插入第i元素e。带头结点单链表的类型定义为:typedef struct LNode { ElemType data; struct LNode *next;} LNode, *LinkList;**********/Status Insert_L(...原创 2018-10-25 00:41:44 · 246 阅读 · 0 评论 -
数据结构 顺序循环队列
队列这种结构再生活中非常常见,从队尾入队,队头出队,利用顺序表来制作一个队列存在一个“假溢出"问题。什么是假溢出?当我们用一个数组的开头元素作为队头,而最后一个元素作为队尾;假设在这时整个数组都填满了,然后从这个数组中抽出几个元素,队列的开头其实是空的,但由于尾部已经满了,所以看起来好像整个队列已经”满“了,但是我们都很清楚,在队伍的开头出还有空位,为了解决这个问题,我们采用了一种循环结构...原创 2018-10-10 20:57:08 · 305 阅读 · 0 评论 -
数据结构 栈的链式存储结构以及链式存储和顺序存储的区别
首先需要明确,和普通单链表不同的是,链栈不需要头指针,或者说它的头指针不叫作头指针,而是栈顶元素,想想如果我们将链表的头指针指向链的第一个节点,并将链头作为栈顶,那么链表的头指针就是我们需要的指向栈顶的指针,显然链栈的各种操作只需要依靠这个栈顶指针就能实现。链表的结构定义:先是需要定义一个链栈的节点,这个节点必须包含一个数据和一个指向下一个节点的指针,其次是需要一个结构来记录链栈的节点...原创 2018-10-07 19:27:03 · 2499 阅读 · 0 评论 -
数据结构 栈的顺序存储结构
什么是栈?简单的说是一个后进先出的表,类似于弹夹,后入的子弹先打出来。下面是栈的一些具体操作步骤:首先是栈的结构定义:typedef int SElemType;typedef struct { int data[MAXSIZE]; int top; /*用于栈顶标记*/ }SqStack, *Sq;栈的初始化、创建操作:Sq initStack(Sq S)...原创 2018-09-26 20:57:36 · 280 阅读 · 0 评论 -
数据结构 循环单链表和双向链表
循环单链表和普通单链表的代码操作上差别并不大,差别最大的地方在于普通单链表遍历结束的标志是标记指针为空,而循环单链表遍历结束的条件是标记指针不等于头指针。以下是头文件,其中包括对节点类型额定义,以及循环单链表的函数声明:#ifndef CLIST_H_#define CLIST_H_typedef struct CNode /*这个结构体类型用于定义循环单链表的节点*/...原创 2018-09-23 20:09:24 · 376 阅读 · 0 评论