算法
Ibelievesunshine
毕业于浙江师范大学数计学院,是一名图像处理工程师
展开
-
C语言实现单向链表、双向链表、循环链表
1. 单向链表/*创建单向链表*/#include <stdio.h>#include <stdlib.h>#include <malloc.h>struct LNode{ int data; struct LNode * next;};//该函数创建一个单向链表struct LNode * create(int n){ ...原创 2018-04-22 14:49:00 · 1879 阅读 · 0 评论 -
Adboost、GBDT、Xgboost 详解
转载请注明出处:http://www.cnblogs.com/willnote/p/6801496.html前言本文为学习boosting时整理的笔记,全文主要包括以下几个部分:对集成学习进行了简要的说明 给出了一个Adboost的具体实例 对Adboost的原理与学习过程进行了推导 针对GBDT的学习过程进行了简要介绍 针对Xgboost的损失函数进行了简要介绍 给出了Ad...转载 2019-04-07 11:22:08 · 629 阅读 · 0 评论 -
深度学习中常用优化器算法Optimizer详解(BGD、SGD、MBGD、Momentum、NAG、Adagrad、Adadelta、RMSprop、Adam)
本文转载自:https://www.cnblogs.com/guoyaohua/p/8542554.html在机器学习、深度学习中使用的优化算法除了常见的梯度下降,还有 Adadelta,Adagrad,RMSProp 等几种优化器,都是什么呢,又该怎么选择呢?在 Sebastian Ruder 的这篇论文中给出了常用优化器的比较,今天来学习一下:https://arxiv.org/pdf...转载 2019-04-05 21:51:22 · 648 阅读 · 0 评论 -
利用matlab写一个简单的拉普拉斯变换提取图像边缘
可以证明,最简单的各向同性微分算子是拉普拉斯算子。一个二维图像函数 f(x,y) 的拉普拉斯算子定义为其中,在 x 方向可近似为同理,在 y 方向上可近似为于是 我们得到满足以上三个公式的两个变量的离散拉普拉斯算子是拉普拉斯变换所对应的滤波器模板为:0 1 0 1 -4 1 0 1 0 使用matlab利用拉普拉斯...原创 2019-03-25 18:59:46 · 7748 阅读 · 0 评论 -
Java 利用泛型实现折半查找法
泛型到底厉害在什么地方?可以大大减少我们的代码量,可以把我们从重复工作中解放出来,使我们更加专注于核心代码的实现,核心算法的编写。举一个最简单的例子:我们在学习数据结构时,为了理解方便和简化编程,通常都使用整数作为分析的对象。利用Java的泛型机制,只需要将int类型换成泛型类型T就可以用在各种不同的类型中。package com.mingrisoft.generic;imp...原创 2018-11-13 21:05:20 · 577 阅读 · 0 评论 -
Java 通过递归求解汉诺塔问题 源码 经典递归问题讲解
汉诺塔问题描述:有三根柱子 A、B、C ,在A从下向上按照从大到小的顺序放着64个圆盘,以B为中介,把盘子全部移动到C上。移动过程中,要求任意盘子的下面要么没有盘子,要么只能有比它大的盘子。分析:为了将N个盘子从A移动到C,需要先把第N个盘子上面的N-1个盘子移动到B上,这样才能将第N个盘子移动到C上。同理,为了将第N-1个盘子从B移动到C上,需要将N-2个盘子移动到A上,这样才能将第N-...原创 2018-11-13 15:28:43 · 314 阅读 · 0 评论 -
C语言实现加密解密功能 附带详细注释源码
加密主要是通过一种算法对原内容进行处理,使原来内容不直观可见。解密过程通常要知道加密的算法,然后对加密后的内容进行逆处理,从而实现解密功能。当然解密也有一些暴力破解的方法。接下来以 c 语言 为例讲解一种简单的加密解密以及暴力破解字符串的方法,带您走进加密解密技术的大门。先讲一下凯撒加密,凯撒密码相传是古罗马凯撒大帝用来保护重要军情的加密系统。它是一种置换密码,通过将字母顺序推后起到加密作用。如字...原创 2018-04-23 22:00:30 · 20995 阅读 · 4 评论 -
C语言项目实战之简单的文本编辑器
预期实现三个功能,第一,可以对指定的行输入字符串;第二,删除指定行的字符串;第三,显示编辑器的行数和内容。我们通过块链结构来实现本程序。“块”的含义是每个块中可以存放多个字符,“链”的含义是块与块之间通过链表结构进行连接。IDE : Code::Blocks 17.12Compiler : GNU GCC Compiler/*块链结构实现简单的文本编辑器*/#include <stdio....原创 2018-04-23 16:30:18 · 7712 阅读 · 4 评论 -
C语言实现链队列并测试
采用链式存储法编程实现元素入队、出队以及将队列中的元素显示出来,要求整个过程以菜单选择的形式出现。队列的链式存储结构是通过节点构成的单链表实现的,此时只允许在单链表的表首进行删除,在表尾进行插入,以实现队列先进先出的特点,因此需要使用两个指针,用 front 指向队首节点存储位置,用 rear 指向队尾节点存储位置。IDE:Code::Blocks 17.12Compiler:GNU GCC Co...原创 2018-04-23 12:58:21 · 940 阅读 · 0 评论 -
C语言实现合并两个链表 含注释
本例子实现将两个链表合并,合并后的链表是第一个链表。通过将第二个链表连接到第一个链表的尾部实现。核心思想是:遍历第一个链表直到尾部,记录尾指针,然后将第二个链表连接到第一个链表尾部指针的 next 指针上,从而实现连接两个链表。请看代码:/*合并两个链表*/#include <stdio.h>#include <stdlib.h>//声明struct student...原创 2018-04-22 20:58:24 · 11206 阅读 · 6 评论 -
C语言创建顺序表并插入元素 详细注释
顺序表是用一组地址连续的存储单元依次存储数据元素的数据结构。顺序表是线性表的一种,线性表是最常用且最简单的一种数据结构,一个线性表是 n 个数据元素的有限序列。我们使用 c 语言来创建顺序表并插入元素。IDE : Code::Blocks 17.12Compiler : GNU GCC Compiler/*创建顺序表并插入元素*/#include <stdio.h>#include...原创 2018-04-22 18:03:22 · 23640 阅读 · 2 评论 -
C语言解决约瑟夫环问题 详细注释
约瑟夫环算法是: n 个人围成一圈,每个人都有一个互不相同的密码,该密码是一个整数值,选择一个人作为起点,然后顺时针从 1 到 k(k为起点人手中的密码值)数数。数到 k 的人退出圈子,然后从下一个人开始继续从 1 到 j (j为刚退出圈子的人的密码)数数,数到 j 的人退出圈子。重复上面的过程,直到剩下最后一个人。/*约瑟夫环*/#include <stdio.h>#includ...原创 2018-04-22 17:18:47 · 10009 阅读 · 2 评论 -
小数的二进制和十进制之间的转换
0.125(十进制)依次 × 2 取小数点左边第一个数,将取得的数按顺序排列在小数点右侧,例子如下:0.125 × 2 = 0.250.25 × 2 = 0.50.5 × 2 = 1.00.125(十进制)——> 0.001(二进制)0.001(二进制)小数点右第一个数 × 2的-1次方,第二个数 × 2的-2次方,第三个数 × 2的-3次方并相加,例子如下:...原创 2019-08-26 14:33:18 · 17389 阅读 · 6 评论