数据结构与算法
文章平均质量分 86
唯有诗和远方
打算把笔记搬到博客里来,发现工作量好大啊。
展开
-
数据结构与算法第四篇
链表和数组的高频面试题 数组高频面试题 No.1(LeetCode1:两个数之和) 题:给定一个非负整数的数组,给定一个target,如果数组中有两个元素相加的和等于target,那么返回这两个数的下标。 代码:本题思路,不使用暴力解法,通过使用空间换时间的方式来求解 public class Solution{ public int [] twoSum(int [] nums,int target){ // 构建缓存器,用来存储nums中的数据。 ..原创 2021-03-25 10:58:09 · 174 阅读 · 1 评论 -
数据结构与算法第三篇
链表 No.1 链表的概念和基本的存储结构 思考?对于ArrayList,真的有那么好吗? 1.ArrayList 非常浪费内存空间,因为扩容机制造成,当默认容量不够的时候就会扩容到原来的1.5倍,新的数组被创建出来后,数据量没存满的话,就是在浪费内存空间。 2.插入,删除数据的复杂度太高,考虑时间复杂度,想想插入和扩容的操作也就知道了。 3.对内存空间要求较高的时候,没有办法开辟连续的内存空间来存储数据,链表不同啊,下面就来介绍链表的优点。 链表介绍:链表(linked list)是一个物理单原创 2021-03-24 16:11:16 · 229 阅读 · 1 评论 -
数据结构与算法第二篇
数组和链表 No.1 线性表 线性表是将数据按照一定规则排列起来的数据,有前继,有后继。一般的,可以将所有的数据结构分为线性结构和非线性结构,线性结构中有,数组,链表,栈,对列。 线性结构定义:n个数据元素的有序(次序)集合,其特征为: 1.集合中必须存在唯一的一个“第一个元素”。 2.集合中必须存在唯一的一个“最后一个元素”。 3.除了最后元素之外,其他元素必须有唯一的“后继”。 4.除了第一个元素外,其他元素必须有唯一的“前驱”。 No.2数组基础 数组是一种用连续的内存空..原创 2021-03-23 21:34:02 · 190 阅读 · 0 评论 -
数据结构和算法第一篇
常见的复杂度分析 No.1 什么是数据结构和算法? 数据结构就是一组数的存储结构,而算法是怎么将这组数进行存储,是进行更深层次的优化存储。................. 数据结构和算法的作用,我们平时写的代码不够完美,可能占用内存较高,运行消耗时间也很长。 No.2 复杂度分析 数据结构和算法是解决代码的“快”和“省”的问题,如何让代码运行的更快,更能节省程序运行时占用的内存空间等,所以代码的执行效率是一个非常重要的指标。 复杂度分析相比于性能测试,复杂度不依赖执行环境,成本较低..原创 2021-03-23 21:22:21 · 192 阅读 · 0 评论