ds_and_algo_interview_prep 源码
复杂性 O(N)表示算法需要N才能增长。 O(N)确定其增长中至少N。 抽象数据类型 用外行术语表示用户定义的数据类型是ADT。 ADT定义可以执行的操作类型,此数据类型显示的行为等。 例如:堆叠 链接列表与数组LL有助于存储更多的数据,因为并不需要将它们存储在连续的内存位置中。 数组在这里失败。 数组速度更快,可让您在索引处访问给定元素。 LL不具有这种可行性。 链表 表示 struct node { int data; struct node* next; } *list = NULL; :bullseye: 如何查找链表是否有循环? 保持两个指针具有不相等的增量,并使它们迭代。 如果他们在任何时候碰面,就会有一个循环。 O(1)空间复杂度和O(N)时间复杂度。 :bullseye: 如何找到循环的起点? 继续上述问题。 初始化q到头部,将p初始化到会合点,然后将它们都增加一个步骤。 他们相遇
下载地址
用户评论