
数据结构
文章平均质量分 92
Java数据结构详解
lambo mercy
无限进步
展开
-
栈 和 队列
一种特殊的线性表,只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出(LIFO - Last In First Out)的原则。从数据结构的角度来看,栈 就是一种数据结构。压栈 和 出栈压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出栈:栈的删除操作叫做出栈。出数据在栈顶。原创 2023-11-11 16:21:21 · 399 阅读 · 0 评论 -
动态修改的数组 - ArrayList
实现一个通用的顺序表顺序表的功能不是重点,我们在这里只是粗略实现一下顺序表的功能,重点在泛型准备工作,相信大家都看得懂。但是这个代码并不通用,只能存储一种数据类型(int)。总结1. 泛型是作用在的一种机制,即运行期间没有泛型的概念。2. 泛型代码在运行期间,就是我们上面提到的,利用 Object 达到的效果(这里不是很准确,以后会做说明)。3. 泛型是为了解决某些容器、算法等代码的通用性而引入,并且能在编译期间做类型检查。原创 2023-11-02 13:11:20 · 598 阅读 · 1 评论 -
泛型&通配符
一般的类和方法,只能使用具体的类型: 要么是基本类型,要么是自定义的类。如果要编写可以应用于多种类型的代码,这种刻板的限制对代码的束缚就会很大。----- 来源《Java编程思想》对泛型的介绍泛型是在JDK1.5引入的新的语法,通俗的讲,泛型就是适用于许多类型。从代码上讲,就是对类型实现了参数化。方法限定符 返回值类型 方法名称(形参列表) {...原创 2022-10-07 00:00:00 · 1672 阅读 · 0 评论 -
时间和空间复杂度
算法效率分析分为两种:第一种是时间效率,第二种是空间效率。时间效率被称为时间复杂度,而空间效率被称作空间复杂度。时间复杂度主要衡量的是一个算法的运行速度,而空间复杂度主要衡量一个算法所需要的额外空间。在计算机发展的早期,计算机的存储容量很小。所以对空间复杂度很是在乎。但是经过计算机行业的迅速发展,计算机的存储容量已经达到了很高的程度。所以我们如今已经不需要再特别关注一个算法的空间复杂度。原创 2022-10-07 00:00:00 · 342 阅读 · 0 评论