算法设计与分析
文章平均质量分 92
按照教材系统的总结有关算法设计知识,不断通过示例磨砺自己,希望某天可以让这个专栏完美毕业!!!
叶落秋白
后端领域优质创作者,CSDN内容合伙人,喜欢刷算法,学习新技术。
展开
-
i = i++ 计算过程还不会?C/C++ 的输出语句与Java 有何不同?
最近身边的朋友分享了一些有趣的算法题给我,我看到题后直接不假思索的说出了我的答案,然而没有一道说对的,顿时我的脾气就上来了,通过查阅资料并与同学讨论,最终从语言特点以及汇编层面解决了问题。接下来我把三道题目放出来,大家尽情作答,看看你是否能成功入坑。原创 2022-11-08 15:01:03 · 1123 阅读 · 40 评论 -
牛客网剑指offer刷题练习之链表中环的入口结点
今天分享用C++做算法题的经验,题目来自于牛客网《剑指offer》专栏里的一道中等难度的链表题,用到了快慢指针的思想。当然除了快慢指针也用到了其他的数学思想,感兴趣的小伙伴快来看看吧!......原创 2022-08-02 10:06:22 · 610 阅读 · 87 评论 -
递归建立链式二叉树,完成前中后序遍历以及其他功能(附源码)
🎉只有遇到挫折才能不断进步🎉前言这篇博客就趁着算法刚考完,解答一下最后一题并复习一下二叉链的建立、初始化和树的前序、后序、中序遍历吧,是递归方法哦,比较好上手,快来学习!🎉目录递归建立二叉树二叉树的结构体二叉树初始化先序遍历中序遍历后序遍历具体例题输入的格式全部源码🎉总结递归建立二叉树二叉树的结构体typedef struct Node{ int data; Node* lchild; Node* rchild;}BiNode,..原创 2022-05-30 20:47:22 · 683 阅读 · 93 评论 -
<算法>回顾所学的概念,总结基础知识和经典算法概念
🎉前言终是到了标志着大二结束的期末考试了,对于《算法设计与分析》这门课,我需要总结一下学过的所有算法的思想以及老师补充的关于两个复杂度和递归的概念思想,以及更深层次的理解,比如用画图的方式表达出来,我觉得可以用博客记录总结一下,分享给大家,希望能有所帮助。算法分析的本质算法分析就是对时间复杂性和空间复杂性进行分析时间复杂度概念时间复杂性又叫时间复杂度,是对算法运行时间长短的度量。人们通常只考虑三种情况下的时间复杂性:最坏、最好、平均情况。计算方法第一步:声明哪些代码是基......原创 2022-05-23 14:58:11 · 858 阅读 · 109 评论 -
<算法与数据结构>详解贪心策略之最小生成树的Prime算法的设计与实现
🎉每个不曾起舞的日子都是对生命的辜负🎉写在前面最小生成树的问题还是比较热门的,最经典的莫过于Prime算法和Kruskal算法了,这篇博文我会详细讲解Prime算法的设计思想与具体代码的实现,不要求数据结构学的有多好,只要跟着我的思路来,一步一步的分析,调试,终能成就自己,那就让我们开始吧!浅析最小生成树设G=(V,E)是无向连通带权图。E中每条边(v,w)的权为c[v][w]。生成树:如果G的子图G’是一棵包含G的所有顶点的树,则称G’为G的生成树。耗费:生成树上各边权的总和原创 2022-05-19 14:48:23 · 3400 阅读 · 195 评论 -
<算法>贪心策略设计并解决会场安排问题
🎉每个不曾起舞的日子都是对生命的辜负🎉写在前面期末考试邻近,为了更好的应对《算法设计与分析》这门课程,我把书上以及老师讲过的案例都详细的做一个重现及解剖,让你熟记每一个潜在的考点,希望能给大家帮助。🎉目录问题描述贪心策略算法设计代码实现选择结构体随机输入会议按结束时间排序最终会议确定结束语问题描述设有n个会议的集合C={1,2,…,n},其中每个会议都要求使用同一个资源(如会议室),而在同一时间内只能有一个会议使用该资源。每个会议i都有要求使用...原创 2022-05-18 13:32:10 · 2608 阅读 · 115 评论 -
【算法】不妨用数组实现哈夫曼树的生成
🎉每一个不曾起舞的日子,都是对生命的辜负🎉🎉写在前面哈夫曼编码(Huffman Coding),又称霍夫曼编码,是一种编码方式,哈夫曼编码是可变字长编码(VLC)的一种。Huffman于1952年提出一种编码方法,该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码,一般就叫做Huffman编码(有时也称为霍夫曼编码)。......原创 2022-05-18 07:58:06 · 1266 阅读 · 60 评论 -
【算法设计】用C++类和队列实现图搜索的广度优先遍历算法
🎉我的世界没有陌生人,只有不问远近的缘分🎉🎉写在前面算法课老师讲了用C++类和队列数组的知识实现bfs算法,我结合自己的理解,画了示意图并做出了改进,现在分享给大家,绝对每一个点都照顾到,让大家稍微动脑筋就能理解这个算法,那么广度优先遍历现在开始。广度优先遍历概念求解节点间的最短路径,因为它的特点是 "搜到就是最优解"。定义:广度优先搜索(Breadth-First Search),又称作宽度优先搜索。BFS是一种完备策略,即只要问题有解,它就一定可以找到解。并且原创 2022-05-16 07:54:23 · 2405 阅读 · 132 评论 -
算法设计与分析基础之分治法,详解二分查找、合并以及快速排序
任何一个可以用计算机求解的问题所需的计算时间都与其规模有关:问题的规模越小,越容易直接求解。 要想直接解决一个规模较大的问题,有时是很困难的。那么,为了更好地解决这些规模较大的问题,分治法应运而生了。 在计算机科学中,分治法是一种很重要的算法。它采取各个击破的技巧来解决一个规模较大的问题,该技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快速傅立叶变换)等。话不多说,直接上案例。二分查找问题描述二分查找又称为折半查找,它要求待查找的数据元素必须是按关键字大小有序排列的..原创 2022-05-05 15:12:47 · 3080 阅读 · 72 评论