数据结构基础训练
第二周,这周的内容是数组与字符串,我在Leetcode上完成了这一部分的学习.
主要学习了这些概念:
列表(又称线性列表)的定义为:是一种数据项构成的有限序列,即按照一定的线性顺序,排列而成的数据项的集合。
数组是列表的实现方式,它具有列表的特征,同时也具有自己的一些特征.
那么如何从宏观上区分列表和数组呢?这里有一个重要的概念:索引。
首先,数组会用一些名为 索引 的数字来标识每项数据在数组中的位置,且在大多数编程语言中,索引是从 0 算起的。我们可以根据数组中的索引,快速访问数组元素。而列表中没有索引。相反,列表中的元素在内存中可能彼此相邻,也可能不相邻。比如列表的另一种实现方式——链表,它的元素在内存中则不一定是连续的。
这是三道练习题,做了之后也有收获。
第一道题目的反思:循环数组。当前值+左边值+右边值=count。
第二道题的反思:二分法查找,一定要确定区间,用二分法查找最容易出现的问题就是没有注意区间,导致出错。
第三道题的反思: 可以先排序,后合并区间。
2021 3 15 暂时先记录到这个地方