算法笔记-入门-数据结构篇
算法笔记-入门-数据结构篇 从大学毕业之后就没研究过算法,都快忘光了,现在开个新坑,从头学起算法,哈哈,希望自己能够坚持住,不过我一定可以坚持住的,我就像易筋洗髓一样,将自己全身打断,重塑自己的一切,回归初心,以一个听者的名义对待一切,因为我做的都是我自己喜欢的事儿。 基本的数据结构类型 什么是数据结构 说白了很简单,数据存计算机里,总得有个存放规律,不能乱来,就像你查字典,你可以一页一页翻着找字儿,你也可以直接按拼音跳转找字儿,这就是查字典的数据结构,数据结构就是决定 数据顺序和位置的关系 。 数据结构的子类-链表 链表,这玩意儿理解起来会抽象一些,大学课本上表示它的数据是一个线性排列的,要我说不用这么麻烦,链表其实就是一列火车,举例来说,现在有4节车厢,你必须通过一节车厢才能到下一节去,也就是说,车厢(链表)都有一个指示牌(指针),你必须一个个往下,到达下面的车厢(指向下一个地址)。 链表这玩意儿吧,慢,查东西你得一个个往下,添加,删除数据都先要改变指针。 查一个东西,拿大O表示法,它的复杂度是O(n),算是相当慢的一种算法了。 数据结构的子类-数组 数组,也是线性排列的数据结构,还记得链表么,链表是靠指针指向,告诉你我下一个老哥是谁,但是数组不一样,它是靠一个叫数组下标的东西来告诉你,我是第几个,在Python中,这玩意儿被运用在列表里,就像a = [1,2,3,4,5]