
算法
可欣の扣得儿
这个作者很懒,什么都没留下…
展开
-
课程中涉及的题目
1.“水仙花数”是指一个三位正整数,它各位数字的立方之和等于它本身。例如,153就是一个“水仙花数”,因为153=13+53+33。请给出输出所有水仙花数的算法。 2.给出求1-1/2+1/3-1/4+…+1/19-1/20的算法。 3.按照阶从高到低对以下函数排序: 答案: 课堂练习的题目: 1.装箱问题(简单) Problem Description: 一个工厂生产...原创 2018-10-16 21:29:17 · 911 阅读 · 0 评论 -
分治算法
一、基本概念 在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快速傅立叶变换)…… 任何一个可以用计算机求解的问题所需的计算时间都与其规模有...转载 2018-11-07 17:30:31 · 193 阅读 · 0 评论 -
哈夫曼编码
概述: 1.计算每个字符出现的频率,得到频率表。 2.将最小的两个频率进行组合,画出哈夫曼树。 3.合并频率时,要给哈夫曼树的枝干赋值,可以给大的概率赋值1,小的赋值0,也可以相反,但前后必须一致。 核心:给出现频率高的字符较短的编码,出现频率低的字符较长的编码。用来缩短总码长。 例1: 已知频率表: 写出哈夫曼树和编码结果:(哈夫曼树可自己写) t...原创 2018-11-21 18:10:57 · 2743 阅读 · 0 评论 -
单源最短路径/最小生成树
Dijkstra算法: 例题:计算源顶点1到其他顶点间的最短路径: 得到下面的迭代过程:(此表格可以按自己的理解修正) 迭代 S u dist[2] dist[3] dist[4] dist[5] 初始 {1...原创 2018-11-21 20:06:04 · 768 阅读 · 0 评论