C
clyfk
青春值得你我骄傲!
展开
-
C版的迷你程序——排列permutation
这是数学的重要概念之一。有限集的子集按某种条件的序列化排成列、不许重复等。从n个不同元素中每次取出m(1≤m≤n)个不同元素,排成一列,称为从n个元素中取出m个元素的无重复排列或直线排列,简称排列(permutation)。从n个不同元素中取出m个不同元素的所有不同排列的个数称为排列种数或称排列数,记为排列的数学描述 当且仅当两个排列的元素完全相同,且元素的排列顺序也相同,则两个排列相同。例如,abc与abd的元素不完全相同,它们是不同的排列;又如abc与acb,虽然...原创 2021-12-08 18:28:21 · 271 阅读 · 0 评论 -
深度学习入门初探——C语言版的损失函数均方误差
其Python版的代码在前文已经实现,数据和结果也都是以此做参考和对比的。数学表达式和相关含义也都在此文有学习和论述:深度学习入门初探——损失函数均方误差https://www.toutiao.com/i7033783692963185188/?group_id=7033783692963185188 C语言基于前文的代码组织加入均方误差函数MaenSquaredError的实现:深度学习入门初探——C语言版的激活函数https://www.toutiao.com/...原创 2021-12-05 22:47:52 · 209 阅读 · 0 评论 -
深度学习入门初探——C语言版的softmax实现
在机器学习的问题上可以大致地分为分类问题和回归问题。回归问题简言之就是根据某个输入来预测或计算出一个数值的结果,基本上使用的就是恒等函数;而分类问题是数据属于哪一个类别的问题,二分类和多分类等,使用的是softmax函数。 其Python版的代码在这里:输出层的介绍深度学习入门初探——多层感知机的神经网络式实现https://www.toutiao.com/i7027833090944860710/?group_id=7027833090944860710...原创 2021-12-04 21:39:40 · 905 阅读 · 0 评论 -
深度学习入门初探——C语言版的激活函数
这个系列的学习,基本上没有使用过多Python依赖的库和第三方工具,更没有使用目前较火的框架(tf、pytorch、caffe)等,更多的采用了numpy。下面是Python版的激活函数:深度学习入门初探——简单的激活函数 C语言是过去几十年软件和硬件两个阵营之间签署的最坚实的契约。硬件为C语言的语义提供了最能发挥其性能的基础构件,而软件虽然搞了很多的圆环套圆环般的层次,但最终都以C语言作为最后的沉淀收尾。 现在比较火爆的tf,即是Google基于高层...原创 2021-12-02 23:51:13 · 602 阅读 · 0 评论 -
C版的迷你程序——数组实现约瑟夫环
约瑟夫环的问题,具体到某个编码来解决可谓是很多很多,这里对于约瑟夫环先打个比方:一辆小巴车被查出严重超车,最多载10人的超载至30人。于是乘客下车排成一队,排队的位置即为他们的编号。然后就是报数,从1开始,数到6的人被安排滞后乘车。如此循环,直到不超过 10 人为止,问都有哪些编号的人需要下车了,哪些编号可以乘车?当然这里只考虑仅有一辆车的情况哈,至于后续车和后续登车的问题不做考虑哈。Python版的迷你程序——约瑟夫环 这里用了C的数组实现,编号和数组索引一一对应了,...原创 2021-12-02 16:55:09 · 903 阅读 · 0 评论 -
C版的迷你程序——快速排序算法
思想就是在区间中随机挑选一个元素作基准,将小于基准的元素放在基准之前,大于基准的元素放在基准之后。之后再分别对上一波基准划分的小数区间与大数区间进行同样方式的排序。之后的分治办法也是很方便并行处理的。C版的迷你程序——冒泡排序算法C版的迷你程序——选择排序算法C版的迷你程序——插入排序算法C版的迷你程序——归并排序算法#include <stdio.h>#include <time.h>#include <stdlib.h>#i...原创 2021-11-24 09:54:48 · 522 阅读 · 0 评论 -
C版的迷你程序——归并排序算法
把数据分段,从某段中逐个选最小的元素移入新数据段,然后再 段与段 之间比较再形成新的数据段。下面是通过打印学习这样的数据是如何搬移的:个人觉得这个思想并行处理上比较方便(分治办法)。#include <stdio.h>#include <time.h>#include <stdlib.h>#include <sys/time.h>void ShowSortPro(int arr[], int len){ int i;...原创 2021-11-23 10:19:25 · 2783 阅读 · 3 评论 -
C版的迷你程序——控制日志记录文件的大小
项目开发时以及代码最终发布后,日志文件都是必不可少的,对于程序运行过程的调试、分析和监控都是很好的一种手段,对于多线程和多进程的开发也是很好的一种分析手段,代码中有线程ID的参数,但这里不讨论线程的东东,仅仅把自己使用过的控制日志记录文件的大小和格式化输出做一个分享。#include <stdio.h>#include <unistd.h>#include <string.h>#include <stdlib.h>#include...原创 2021-11-22 11:06:52 · 957 阅读 · 0 评论 -
C版的迷你程序——插入排序算法
插入排序--Insertion Sort也是一种简单直观的排序算法,通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,需要从后向前扫描,需要反复把已排序元素逐步向后挪位,为最新元素提供插入的空间。#include <stdio.h>#include <time.h>#include <stdlib.h>#include <sys/time.h>void ShowSortPro(i...原创 2021-11-21 11:20:14 · 612 阅读 · 0 评论 -
C版的迷你程序——选择的排序算法
选择排序--Selection sort是一种简单直观的排序算法。首先在未排序序列中找到最小/大元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小/大元素,然后放到已排序序列的末尾。截图中肉眼可见的数据移动策略相较于冒泡,数据交换频率就低了很多。#include <stdio.h>#include <time.h>#include <stdlib.h>#include <sys/time.h>void Sho...原创 2021-11-20 19:50:17 · 1767 阅读 · 2 评论 -
C版的迷你程序——冒泡的排序算法
C语言是过去几十年软件和硬件两个阵营之间,签署的最坚实的契约。硬件为C语言的语义提供了最能发挥其性能的基础构件,而软件虽然搞了很多的圆环套圆环般的层次,但最终都以C语言作为最后的沉淀收尾。----所以才会有C版的迷你程序!!! 之所以起头写这样系列的文档,主要是锻炼自己的编码能力,类似于leetcode吧。 浅话到此,C版的迷你程序、Python版的迷你程序、以及两个语言好玩的小项目,都会持续不定时的网络收集和自己把玩。充实自己的小白脑细胞。另外新进语言R...原创 2021-11-19 17:50:05 · 459 阅读 · 0 评论