Play Me —— Algorithm and Structure
文章平均质量分 77
希望这里成为一个algorithm和data structure的大锅炉,将自己遇到的、做过的、欣赏的各种各样有趣的奇思妙想的问题搜罗进来。锻炼自己面对任何一个小问题快速清晰地用代码解决的能力,得到扎实的基本功和见怪不怪的心气。玩起来——去探寻代码世界尽可能多的可能性
codes_first
这个作者很懒,什么都没留下…
展开
-
八皇后问题详解(四种解法)
如果你去百度百科八皇后这个问题,你会发现人家也是历史上有头有脸的一个问题,最后一句“计算机发明后就有一万种方式解决这个问题”读起来也让程序猿们很快活。闲话少说,开始阐述我的思路:最无脑的解法一定是八个for遍历,浪费了太多的计算资源在各种无用功上面,我们稍微构思一下: 首先如何决定下一个皇后能不能放这里可以有两种思路,第一种是尝试维护一个8*8的二维矩阵,每次找到一个空位放下一个皇后就把对应行列对原创 2017-11-08 01:38:49 · 152368 阅读 · 19 评论 -
使用朴素贝叶斯进行问卷分析(C++)
根据贝叶斯定理,对一个分类问题,给定样本特征x,样本属于类别y的概率是 在这里,x是一个特征向量,将设x维度为M。因为朴素的假设,即特征条件独立,根据全概率公式展开,上述公式可以表达为 这里,只要分别估计出,特征xi在每一类的条件概率就可以了。类别y的先验概率可以通过训练集算出,同样通过训练集上的统计,可以得出对应每一类上的,条件独立的特征对应的条件概率向量。 以下结合代码谈谈具体的实现stru...原创 2018-03-04 16:55:05 · 1461 阅读 · 0 评论 -
LFM法实现的user item推荐系统
所有源码都在github上(https://github.com/seasonyao/recommended-system)代码环境:windows环境下python3.5,安装numpy和sklearn即可源码、数据、结果:https://download.youkuaiyun.com/download/codes_first/10741150各个读入文件的格式如下: ...原创 2018-06-25 00:06:13 · 5977 阅读 · 23 评论 -
pagerank的实现和模拟大量数据情况下的并行分块化
所有源码都在github上(https://github.com/seasonyao/pagerank)一、pagerank简介(参考书籍《推荐书籍实践》和csdn若干博客 可以跳到第二部分 需要解决的问题)1.PageRank的核心思想如果一个网页被很多其他网页链接到的话说明这个网页比较重要,也就是PageRank值会相对较高。如果一个PageRank值很高的网页链接到一个其他...原创 2018-07-17 23:09:25 · 6933 阅读 · 3 评论 -
数据结构——链表实现两个多项式加减乘除
任务概述:使用链表实现两个多项式的基本操作。初级要求:实现加法、减法和微分操作。高级要求:实现乘法和除法操作。(除法操作中,当不能除尽时还要求列出余式。)要点: 链表中的每个结点形式如下: 链表中,各结点按指数升幂或降幂排列,生成的结果多项式仍使用原多项式所占...原创 2018-10-23 16:22:35 · 9181 阅读 · 1 评论 -
数据结构——Huffman编码及译码
Huffman编码及译码1.掌握二叉树的二叉链表存贮结构。2.掌握Huffman算法。 要求:使用文件保存初始的文本数据及最终的结果。文件名为inputfile1.txt的文件保存的是一段英文短文; 文件名为inputfile2.txt的文件保存01形式的编码段; 文件名为outputfile1.txt的文件保存各字符的出现次数和对应的编码; 文件名为outputfi...原创 2018-10-23 16:33:21 · 5223 阅读 · 1 评论 -
数据结构——求金属融化所需要的时间(图的遍历)
求金属融化所需要的时间1) 在N × N的格子上放置着形状不规则的金属(5≤N≤1000)。金属为1×1格子的整数倍组成的不规则形状; 金属有可能中空,这样在开始的时刻中空的方格不会立即充满液体; 当中空的格子有缺口时,液体可以立即进入到中空的地方。2) T=0时刻从格子的最外围开始注入某种可以融化金属的液体。液体扩散填充的速度不计,例如在T=0时刻液体充满浅蓝色方块。3) 当...原创 2018-10-24 09:06:50 · 1127 阅读 · 0 评论 -
数据结构——导通电路板问题(排序)
有一块布满器件的电路板,器件共N行M列。每个器件只有两种状态,经一次激光照射后状态反转。初始时,器件的状态随机。激光的位置在每列器件的最上方,这意味着照射一次,当前列中的所有器件的状态全部反转。(激光可以多次照射同一列。)当一行中的所有器件全为1时,本行处于导通状态。给定一块电路板,并指定激光照射次数,求最大导通行数。限定:3≤行数N≤100,3≤列数M≤20,1≤激光照射次数K≤...原创 2018-10-24 09:15:36 · 1111 阅读 · 3 评论