Aelous-Blog

养一猫一狗,猫叫夜宵,狗叫宵夜

0%

前几天刷题,因为我选择用 C++语言来刷题,比较接近底层,但是又不像 C 那样我需要自己造轮子,可以很深入的了解算法的内部结构。但是,我 C++学的并不精通!!这我就很尴尬了,所以我找了 B 站上黑马程序员的课程,然后肝了两天基础语法。

遗憾的是!!!我在刷题过程中遇到的问题,在 C++提高编程部分。基础语法没有,但是我们不能白刷,刷了题那就做一下练习,正好课程里有通讯录管理系统,咱就研究研究,搞一下。

IDE 用的 JetBrains 公司的 Clion,因为之前正好申请了学生免费,再加上 Xcode 学习成本对我来说有点高。话不多说,回归正题。

阅读全文 »

链表与数组相似,链表也是一种线性数据结构。这里有一个图例:

如图中所示,链表中的每个元素实际上是一个单独的对象,而所有对象都通过每个元素中的引用字段链接在一起。

链表有两种类型:单链表和双链表。上面给出的图例是一个单链表,以下是双链表的图例:

阅读全文 »

数组相关技术

1.这里有一些类似于数组的数据结构,但具有一些不同的属性:
字符串、哈希表(散列表)、链表、队列

2.我们其实可以调用内置函数来对数组进行排序。但是,理解一些广泛使用的排序算法的原理及其复杂度是很有用的。

3.二分查找也是一种很重要的技术,用于在排序数组中搜索特定的元素。

阅读全文 »

今天高考,我上午去医院做核酸检测(为了过两天入校作准备),路上看到很多街道实行了交通管制,高校门口家长们顶着高温翘首以盼,心里默默给考生加个油,这也让我想到了自己的十年寒窗。

我穷人家孩子,从小我爸妈就这么教育我:“咱们是农民,你唯一的出路就是拼命学习,考上你就成功了,不然你就回去种地。”
虽然我考的不是很好,但终究是个一本,我曾一度以为我离成功不远了。但是随着认知的世界越来越大,我才明白,终我一生,不过是在转轮上奔跑的小仓鼠罢了。

我不甘心。
我天生愚钝没什么天赋,但我相信我可以咬着牙一步步走下去,我把能吃苦也看作是一种天赋。

阅读全文 »

双指针技巧 — 情景 1

对数组进行迭代的时候,我们经常都是从第一个元素迭代到最后(用一个指针),然而有的时候我们会采用两个指针进行迭代。

示例

一个经典问题:

反转数组中的元素。比如数组为[hello],反转之后变为[olleh]

阅读全文 »

字符串

字符串是一个由字符构成的数组。
之后深入研究字符串,需要掌握如下知识点:

  • 熟悉字符串中的基本操作,尤其是在数组中没有的独特操作;
  • 理解不同比较函数之间的区别;
  • 理解字符串是否可变以导致连接过程中出现的问题;
  • 能够解决与字符串相关的基本问题,如排序、子串、字符串匹配等;
阅读全文 »

二维数组

前面我们已经了解过一维数组了,然而在很多情况,我们需要用到多维数组,它更适合像表或者矩阵这样更复杂的结构。

重点解释二维数组如下问题:

  • 二维数组在内存中是如何存放的?
  • 如何运用二维数组来解决问题?
阅读全文 »

题目:寻找数组的中心索引

给定一个整数类型的数组 nums,请编写一个能够返回数组“中心索引”的方法。

中心索引的定义如下:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。

如果数组不存在中心索引,那么我们应该返回-1。如果数组有多个中心索引,那么我们应该返回最靠近左边的那一个。

阅读全文 »

数组是数据结构中的基本模块之一。因为字符串是由字符数组形成的,所以二者是相似的。大多数面试问题都属于这个范畴。需要掌握的内容如下:

  1. 理解数组的基本概念及其操作方式
  2. 理解二维数组的基本概念,熟悉二维数组的使用;
  3. 了解字符串的概念以及字符串所具有的不同特性;
  4. 理解字符串匹配中的KMP算法;
  5. 能够运用双指针解决实际问题。
阅读全文 »

六月底老师通知让我提前返校,去长春自我隔离一段时间,这几天一直在收拾东西。空余时间没用来学习,不过倒是上 steam 上买了个游戏(QAQ)

2020 是个多灾多难的年份(澳洲火灾,东非蝗虫肆虐,加拿大雪灾,菲律宾火山爆发,克什米尔雪崩,全球疫情),我只愿世界和平,不由得想到《流浪地球》的台词:

“最初,没有人在意这场灾难,这不过是一场山火,一次旱灾,一个物种的灭绝,一座城市的消失。直到这场灾难和每个人息息相关。”

几天没写东西,心里有点痒痒,可是赶飞机,找住处,写点啥呢?思来想去,有了这篇历程。

阅读全文 »