- 博客(14)
- 收藏
- 关注
原创 矩阵分解及其Python代码实现
一:引入打分矩阵有如下R(5,4)的打分矩阵:(“-”表示用户没有打分)其中打分矩阵R(n,m)是n行和m列,n表示user(用户)个数,m行表示item(项目)个数那么,如何根据目前的矩阵R(5,4)如何对未打分的商品进行评分的预测(如何得到分值为0的用户的打分值)?——矩阵分解的思想可以解决这个问题,这种思想可以看作是有监督的机器学习问题(回归问题)。二:矩阵分解并求解(1)矩阵分解矩阵P(n,K)表示n个user和K个特征之间的关系矩阵,这K个特征...
2022-01-12 20:12:09 811
原创 哈夫曼编码
/*示例****哈夫曼编码****请输入结点个数:8输入这8个元素的权值(均为整形):1:272:43:874:215:26:217:18:25*/#include <stdio.h>#include <stdlib.h>#include <string.h>typedef struct { unsigned int weight; //用来存储各个结点的权值 unsigned int parent,LChild,RChild;.
2021-11-23 16:12:54 82
原创 二叉树的遍历
#include<stdio.h>#include<stdlib.h>//测试数据FCA##DB###EH##GM###//二叉树的链式存储 typedef struct BiTNode{ char data; //结点数据域 struct BiTNode *lchild,*rchild; //左右孩子 }BiNode,*BiTree;//创立二叉树 BiTree CreateBiTree(){ BiTree T; char c; sc.
2021-11-23 16:11:42 880
原创 经典KMP算法
#include<stdio.h>/*01 构建链表02 初始化链表 注意头节点 直接赋值03 输出链表 */ struct stu{ int num; float score; struct stu *next;}; int main(){ struct stu a, b, c, *head;a.num =1;a.score = 89; b.num = 2 ;b.score = 98; c.num =.
2021-11-23 16:09:58 99
原创 约瑟夫环(C语言)
/*有n个人围城一圈,按顺序编号,从第一个人开始报数,从1报到m,凡报到m的人退出圈子,然后接着报数,问最后留下来的是原来的第几号的那位?*///数组//用长度为n的数组存储人的编号,退出的人编号置为0,当n-1个人都退出后,剩下的那个编号不为0的人就是要找的人。#include <stdio.h>#include <malloc.h> void left_num(int* a,int n,int m) { int out = 0,count = 0,.
2021-11-23 16:08:39 108
原创 别人家的单链表操作
/* Project: single linkeed list (数据结构 单链表) Date: 2021-10-7 09:26:57 Author: Frank Wang InitList(LinkList &L) 参数:单链表L 功能:初始化 时间复杂度 O(1) ListLength(LinkList L) 参数:单链表L 功能:获得单链表长度 时间复杂度O(n) ListInsert(L.
2021-11-23 16:02:12 92
原创 斐波那契数列
#include<stdio.h>//递归 int Fibonacci1(int n){ if(n==1||n==2) return 1; return Fibonacci1(n-1)+Fibonacci1(n-2);}//非递归int Fibonacci2(int n){ if(n==1||n==2) return 1; int f1,f2,f3; f1=1,f2=1; for(int i=3;i<=n;i++){ f3=f2+f1; f1=.
2021-11-23 15:45:57 97
原创 C语言实现简单回文数(不完整)
#include <stdio.h>int main(){ int a[100]; //最多存100位的数 int n,len=0,temp=1; scanf("%d",&n); int x=n; for(int i=0;n>0;i++){ a[i]=n%10; n/=10; len++; } for(int i=0;i<len;i++){ if(a[i]!=a[len-i-1]){ .
2021-11-23 15:43:09 94
原创 C语言实现阶乘
#include<stdio.h>//非递归 long Fact(int n){ int i,res=1; for(int i=1;i<=n;i++){ res*=i; } return res;}int main(){ int n; scanf("%d",&n); if(n==0){ printf("res=1"); } else{ printf("res=%ld",Fact(n)); } return 0;}//递归 .
2021-11-23 15:39:45 117
原创 增删查修序
#include<stdio.h>#define MAX 100 //数组最多只能存 MAX个数//插入 int insert(int a[],int n,int i,int x){ int j; if(n+1>MAX) printf("无插入空间\n"); //数组只能存 MAX个数 else if(i<1||i>n+1) printf("插入位置非法\n"); //插入位置的范围为1.
2021-11-23 15:32:04 51
原创 结构体到单链表
#include<stdio.h>/*01 构建链表02 初始化链表 注意头节点 直接赋值03 输出链表 */ struct stu{ int num; float score; struct stu *next;}; int main(){ struct stu a, b, c, *head;a.num =1;a.score = 89; b.num = 2 ;b.score = 98; c.num =.
2021-11-23 15:22:02 133
原创 队列——链表实现
掌握队列的基本操作:初始化,入队,出队,获取队头元素,,获取队列长度等运算在顺序和链表存储上的程序设计方法目录掌握队列的基本操作:初始化,入队,出队,获取队头元素,,获取队列长度等运算在顺序和链表存储上的程序设计方法代码如下:#include <stdio.h>#include <stdlib.h>#include <assert.h>// 队列的节点 struct Node{ int data; struct
2021-11-21 00:41:33 272
原创 栈的基本操作
掌握栈的基本操作:初始化栈,判断空满,入栈,出栈,取栈顶数据元素等代码如下:#include <stdio.h>#include <stdlib.h>#include <malloc.h>#define MAXSIZE 100typedef struct StackNode{ int data; StackNode *next;}StackNode, *LinkStack;//初始化void InitStack(LinkStack S)
2021-11-20 22:22:33 381
原创 单链表的操作
单链表的操作/* Project: single linkeed list (数据结构 单链表) Date: 2021-10-7 09:26:57 Author: Frank Wang InitList(LinkList &L) 参数:单链表L 功能:初始化 时间复杂度 O(1) ListLength(LinkList L) 参数:单链表L 功能:获得单链表长度 时间复杂度O(n) Lis.
2021-11-19 09:23:34 162
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人