算法
算法
「已注销」
这个作者很懒,什么都没留下…
展开
-
【C语言学习笔记】再次深入理解递归——总结设计易错点
写在前面其实我也说不太清楚到底递归算不算算法,因为我一开始从0基础接触递归是从《算法图解》这本书中得知的(也很推荐刚学算法的朋友可以先看看这本书,写的挺不错的),也就把它当成算法了。但写了那么多题目,渐渐的感觉递归这个东西把,它更像是一种工具而已,要用的时候很自然而然地就和加减乘除一样用上了,不会特别感受得到它地存在(也正是因为理解地不深刻,导致我经常用错陷入死循环)。再次深入理解递归回想起第一次接触递归是在这道题上母牛的故事——函数与类斐波那契数列,其实当时在写这道题时真的没有刻意去说 啊 我要用原创 2020-11-07 20:44:20 · 561 阅读 · 1 评论 -
【C语言学习笔记】算法篇——动态规划
浅谈动态规划Dynamic Programming写在前面:学习这个算法的缘由其实是这篇博客,当时在写完这道题的题解时,师兄好心地提醒我有一个说法不太准确,就是到底是不是贪心算法,在学习了动态规划后发现这两者真的有挺多共同点的。且上次月赛挺多题目都涉及到了动态规划的思想,故今天来整理一下,先立个FLAG,这篇博客应该要写很久很久很久…什么是动态规划?首先要了解的是,和贪心算法一样,动态规划算法只是一种思想,不是像排序算法一样有具体的代码。我第一次学习动态规划,是在《算法图解》这本书中,因此后面的原创 2020-10-25 09:27:23 · 3672 阅读 · 0 评论 -
【C语言学习笔记】算法篇——排序
#学习资料:《啊哈!算法》、《算法图解》桶排序优点:简单易懂,复杂度低,便于操作缺点:占用空间大时间复杂度:O(M+N) (M为桶的个数,N为待排序的个数)适用范围:海量数据,但数据有具体范围约束时有优势Bucket Sort基础代码示例(取自啊哈!算法)#include <stdio.h>int main(){ int book[1001], i, j, t, n; for ( i=0, i<=1000; i++ ) book[i] = .原创 2020-09-05 13:32:02 · 277 阅读 · 1 评论 -
【C语言学习笔记】算法篇——初见深度优先搜索
*基于啊哈!算法中的实例题目输入一个正整数n,输出1-n的全排列代码分析#include <stdio.h>int a[10], book[10], n;void dfs ( int step ){ int i; if ( step==n+1 ) { for ( i=1; i<=n; i++ ) printf ( "%d", a[i] ); printf ( "\n" ); return; } for ( i=1; i<=n;原创 2020-09-20 20:07:59 · 271 阅读 · 0 评论 -
【C语言学习笔记】算法篇——简易贪心
NP完全问题*什么是NP完全问题在了解贪心算法之前我们先了解下这个算法可以处理的问题,即世界七大数学难题之一的NP完全问题NP完全问题的简单定义是,以难解著称的问题,如旅行商问题和集合覆盖问题,很多非常聪明的人都认为,根本不可能编写出可快速解决这些问题的算法。(摘自算法图解)那既然这类问题没有快速算法,那我们就要学习近似算法(贪心算法就是近似算法之一),使它们可以快速找到NP完全问题的近似解。*如何识别NP完全问题既然到目前为止,NP完全问题没有快速算法,如果我们在一开始遇到问题时能够识别出原创 2020-09-16 21:40:09 · 438 阅读 · 0 评论 -
【C语言学习笔记】算法篇——枚举算法
#学习资料:《啊哈!算法》、《算法图解》枚举算法基本思想:有序地去尝试每一种可能。对于人类而言,这种算法似乎是十分枯燥、无聊、没有一点计数含量的算法。但对于计算机而言,在解决某些特定的问题时,枚举算法不失为一种高效简洁的优秀算法。应用实例均取自于啊哈!算法@代码一:奥数题#include <stdio.h>int main(){ int a[10], i, total=0, book[10], sum; for ( a[1]=1; a[1]<=9; a[1]+原创 2020-09-09 20:16:25 · 1288 阅读 · 0 评论 -
【C语言学习笔记】算法篇——栈、队列、链表
#学习资料:《啊哈!算法》、《算法图解》队列队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。生活实例:排队买票原则:FIFO用处:广度优先搜索以及队列优化的BELLMAN-FORD最短算法的核心数据结构代码展示(取自啊哈!算法中的解密)#include <stdio.h>int main(){ int原创 2020-09-06 21:26:09 · 391 阅读 · 1 评论