![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
文章平均质量分 67
数据结构与算法小结
MajorTom33
这个作者很懒,什么都没留下…
展开
-
【算法】栈的实现(能够动态调节数组大小实现)
看完了《算法(第四版)》中对栈这种数据结构的实现,记录一下。 实现栈的思路如下:: 首先实现两个基本的属性,一个泛型数组用来储存栈元素,一个整型数据用来记录栈中的元素数量: private Item[] a = (Item[]) new Object[1]; private int N = 0; 之后实现两个比较基本的成员方法,isEmpty用来判断栈是否为空,size用来返回栈中元素的个数: public...原创 2021-11-12 14:45:59 · 497 阅读 · 0 评论 -
【算法】Algs4在IDEA下的环境配置
实现来自《算法(第四版)》,接触Java时间不多,在使用IntelliJ IDEA运行algs4.jar库的时候也遇到了很多问题,一度差点放弃,后来总算找到了原因,有一种柳暗花明的感觉。所以在这里记录一下IDEA运行algs4代码时候我遇到的一些问题和我的解决方案。IDEA运行《算法》代码的环境配置步骤如下:(1)进行java环境配置 这一部分网上内容很多可以参考:Java 开发环境配置 | 菜鸟教程(2)algs4.jar和algs-data.zip下载...原创 2021-11-12 12:50:50 · 1895 阅读 · 0 评论 -
【算法】牛顿迭代法求平方根的原理和误差分析
前言在《算法(第四版)》中的P23页,给出了经典的利用牛顿迭代法求平方根的算法,牛顿迭代法在数值计算中应用十分广泛,但是在看书中的代码时,我最困惑的是其中对收敛条件的判断,经过查阅资料和论坛,找到了一个自己感觉比较合理的解释,下文主要就简单介绍一下牛顿迭代法和其在《算法》这本书中的收敛条件设置的原因的理解。一、牛顿迭代法求平方根原理public static double sqrt(double c){ if(c>0) return Double.NaN......原创 2021-10-28 11:31:42 · 8236 阅读 · 1 评论 -
【算法】算法的时间复杂度和空间复杂度
一、算法的时间复杂度定义:算法时间复杂度是算法的时间度量,对于任意一个算法,语句总的执行次数T(n)是关于问题规模n的函数,该算法的时间复杂度记作T(n)=O(f(n))。其中f(n)是问题规模n的某个函数。理解:对于算法的时间复杂度的评估是经常在软件开发中遇到的问题,对于时间复杂度的定义的理解主要是要理解其中的两个数学含义:(1)输入规模n:输入规模n可以理解为该算法处理的数据量的大小,例如“求n项等差数列的和”中的n即表示这个输入的等差数列的大小,又例如“对含有n个整数的数组从小到大排序”中原创 2021-10-28 09:12:31 · 298 阅读 · 0 评论