数据结构算法
InSunshine_
这个作者很懒,什么都没留下…
展开
-
数组相关
数组指的是线性列表,在内存中是一段连续的内存空间,存储的数据类型一致。 两个特点: 1)线性表,线性表就是数据排成像一条线一样的结构,每个线性表的数据最多只有前和后两个方向; 除了数组,链表、队列、栈等也是线性表结构。与它相对立的概念是非线性表,比如二叉树、堆、图等。之所以叫非线性表,是因为,在非线性表中,数据之间并不是简单的前后关系。 2)连续的内存空间和相同的数据类型,所以它可以“随机...原创 2019-08-27 11:55:37 · 156 阅读 · 0 评论 -
如何判断一个字符串是否是回文字符串 ,单链表实现方式
如果字符串是通过单链表来存储的,那该如何来判断是一个回文串呢?相应的时间空间复杂度又是多少呢? 这个问题,看到别人用快慢指针的方式实现,没有太明白,自己动手写了下代码,明白了这个思路。 首先是快指针每次移动两个位置,慢指针每次移动一个位置,这样两个指针同时开始就可以知道当快指针走完慢指针就来到了链表的中点。当然,在这个过程中间,还需要做的一件事就是将前一半的链表在慢指针移动的过程中完成逆序。然...原创 2019-08-28 14:59:34 · 3880 阅读 · 2 评论 -
链表相关
首先要和数组有一个明显的区别,数组需要一块连续的内存空间来存储,对内存要求比较高;链表相反,它并不需要一块连续的空间,它通过“指针”将一组零散的内存块串联起来使用。但它与数组一样都是线性表。 链表常见的有三种:单链表、双向链表、循环链表 。 单链表 1)每个结点只包含一个指针,即后继指针。 2)单链表有两个特殊结点,首结点和结点,首结点地址表示整条链表基...原创 2019-08-29 14:34:05 · 220 阅读 · 0 评论