自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Shijia Yin

浮生常恨欢娱少,肯爱千金轻一笑

  • 博客(16)
  • 收藏
  • 关注

原创 栈的实现与操作

栈的实现也有两种方式:数组方式、和链表方式,我们前面知道表也是两种方式,但是由于表经常要在表的中间删除或插入数据,所以用数组实现不是一种很好的选择,我们通常采用结点实现。但是在栈中,这种情况发生了变化,栈是一种LIFO性质的线性表,它不允许在中间插入数据。而且事先知道数据数量的应用场景也经常出现(如果不知道,那就用链表),所以我们下面将讲解栈的链表和数组实现。栈的链表实现一、创建栈这和创建一...

2019-05-30 14:08:59 221

原创 双向循环链表的操作

一、双向循环链表的实现,如果理解了前面的双向链表和循环链表,那么理解双向循环链表是一件很简单的事情,这里的实现是在我之前的双向链表的基础上,将尾结点的next指向头结点,将头结点的pioneer指向尾结点,就可以实现双向循环链表了。typedef struct DNode{ int data; struct DNode *front; struct DNode *nex...

2019-05-26 14:20:36 221

原创 【每天一点算法】k-means聚类算法

该聚类算法的设计分为三大步:数据集准备;聚类中心设计与初始化;迭代训练;其中迭代训练又分为两大步:聚类;聚类中心更新下面是具体代码及其详解(实现语言为MATLAB或者Octave)注释为C/C++风格,复制的时候要改成matlab风格,或者直接删除//prepare the datax = [1 2 2 2 2 2 102 103 102 104 105 104 203 204 203 2...

2019-05-26 11:44:58 159

原创 双向链表的操作

一、双向链表的创建双向链表的结点结构体有两个指针,一个指向前向结点,一个指向后继节点,创建步骤和单向链表差不多typedef struct DNode{ int data; struct DNode *front; struct DNode *next;}DNode *create_DNode_list(int n){ int a, i; DN...

2019-05-24 09:40:31 124

原创 单向循环链表操作

循环链表的好处:1、任何节点都可以做为头节点。 可以从任何节点开始进行链表的遍历。只要当第一个节点被重复访问时,则意味着遍历结束。2、用于实现队列数据结构是很有帮组的。 如果使用循环链表,则不需要为了队列而维护两个指针(front以及rear)。只需要维护尾节点一个指针即可,因为尾节点的后向节点就是front了。3、循环链表常用于各应用程序中。 例如,当一台PC运行多个应用程序时,操作系统通...

2019-05-24 09:32:18 392

原创 单链表操作

一、创建一个链表我们要准备三个指针:head,previous,pioneer,第一个头指针,链表被创建以后,它起着对链表的唯一标识作用,previous指针和pioneer指针用来在创建链表的过程中使用,具体使用方法,看下面代码node *create_list(int n){/********************initialize*********************/ ...

2019-05-24 08:39:33 211

原创 【每天一点算法】Floyd最短路径算法

Floyd最短路径算法是基于这样一个事实:从viv_ivi​到vjv_jvj​的最短路径总是先从v1v_1v1​沿着一条路到某一点viv_ivi​,再沿(vi, vj)(v_i,\ v_j)(vi​, vj​)到vjv_jvj​。而从v1v_1v1​到viv_ivi​这条路必然是从v1v_1v1​到viv_ivi​的最短路。下面我们来进行具体的代码设计,算法设计的基本思想是:...

2019-05-21 20:03:55 222

原创 二级指针与数组指针的区别

今天早上遇到一个问题,我想向函数里面传送一个二维数组int Matrix[MAX][MAX]int \ Matrix[MAX][MAX]int Matrix[MAX][MAX],我采用的方法是二级指针,我当时的考虑是二维数组名的二级解引用是一个整数,整型二级指针的的二级解引用也是一个整数,所以我想当然地就认为它们是一样的了,程序只是给了警告,我当时也没太在乎,结果程序出错了,下...

2019-05-21 09:14:25 1799

原创 【每天一点算法】基于梯度下降的多变量线性回归(我的第一个机器学习算法)

概述学习了吴恩达老师的机器学习算法的前六章后,我初步认识了机器学习算法,总的来说就是最小化偏差,最小化偏差有多种方法,在课程中使用的是梯度下降法和正规方程法(最小二乘法),下面我就利用我学习到的知识来进行一次简单的学习算法设计算法设计目标与所用语言算法设计的目标是用一个二次假设函数来拟合一个带噪声的二次函数所用语言是Octave(类似于MATLAB)具体设计步骤一、准备数据集x=0:...

2019-05-20 21:21:55 376

原创 队列

队列,又称为伫列(queue),是先进先出(FIFO, First-In-First-Out)的线性表。在具体应用中通常用链表或者数组来实现。队列只允许在后端(称为rear)进行插入操作,在前端(称为front)进行删除操作。--------------------------------------------------------------------------------------...

2019-05-18 23:09:36 513

原创 【每天一点算法】递归算法设计总结

今天被递归算法困扰了好久,感觉这真是个很神奇的算法,可以用那么简短的几行代码处理那么复杂的问题,下面就对其进行总结。首先我们要来看几个经典的例子,这里只是介绍几个很简单的例子来简单理解,因为我觉得看博客的你一般都只是想快速了解,不要求深入

2019-05-17 22:01:12 280

原创 【每天一点算法】模糊控制器的设计

概述模糊控制器是以模糊集合论、模糊推理、模糊语言变量为基础的一种智能控制方法。关于这三个基础方面的知识,不知道的,自己去补充。正文模糊控制器的设计主要分为如下步骤:1、模糊控制器结构的确定:几个输出变量?几个输出变量?分别是什么变量?2、定义输入输出变量模糊集:确定各个变量的论语、语言值、各个模糊集的隶属函数。3、用自然语言表示模糊规则:用IF A THEN B的结构来表示。4、构建...

2019-05-17 09:33:16 12629 1

原创 【每天一点算法】Dijkstra最短路径算法

我是在运筹学这门课里面接触到这个算法的,先是在书上大概理解了这种方法的人脑思维方式。但是我坚信,运用机器实现我们学到的每一个算法将会帮助我们更好地理解我们所处的信息化时代,下面就开始吧。一、Dijkstra算法概述Dijkstra算法是一个单向路径最短算法,也就是在一个图中不能存在负权边,该算法通过外散的形式逐步确定每一个节点到起始结点的最短路径。这种算法的具体解释在数据结构与算法、运筹学、图...

2019-05-13 18:34:05 692

原创 在github上新建一个仓库后,如何将本地文件推送上来

哈哈哈,有图有真相。这张图片的作用是教我们如何把本地文件夹变成一个仓库并且将它与我们在github上的远程仓库相连。

2019-05-12 14:59:32 735

原创 【每天一点算法】冒泡排序

今天我的内心受到了打击,原来我是个彻头彻尾的垃圾,一个冒泡排序写了我三个小时。以后要经常找点算法的题目来练练手。(蓝色是忧伤的颜色

2019-05-07 21:10:47 212 1

原创 Qt之坐标变换

make it right before you make it faster .Keep it right when you make it faster .Make it clear before you make it faster .Do not sacrifice clarity for small gains in efficiency .—Brian Kernighan在Q...

2019-05-01 20:54:11 2171

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除