首页 > 代码库 > algorithm-exercise

algorithm-exercise

https://github.com/billryan/algorithm-exercise

Part I - Basics

Basic Data Structure

 

string:

s2.index(‘w‘) # return 5, if not found, throw ValueError
s2.find(‘w‘) # return 5, if not found, return -1

 

linked list:

链表属于线性表,线性表

两钟结构:顺序存储结构、链式存储结构

顺序表的特性是随机读取,也就是访问单个元素的时间复杂度是O(1),链式表的特性是插?和删除的时间
复杂度为O(1)。
链表就是链式存储的线性表。根据指针域的不同,链表分为单向链表、双向链表、循环链表等等。

链式存储结构:就是两个相邻的元素在内存中可能不是相邻的,使用指针

  优点是定点插入和定点删除的时间复杂度为 O(1),不会浪费太多内存,添加元素的时候才会申请内存,删除元素会释放内存。缺点是访问的时间复杂度最坏为O(n)。

algorithm-exercise