![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法分析
檀一狼
将来的你,一定会感激现在拼命努力的自己
展开
-
单链表对象操作--java
之前写了关于单链表操作是以 int 型为例,但是在时间应用中,链表很少仅仅存储数字,更多的是对象。那么这一篇以存储对象为例,简单介绍如何对单链表进行简单的操作。注意事项:删除与增添操作应注意链表的长度,不可溢出,用不专业的话讲,溢出分为“上溢”和“下溢”,上溢指的是所删除/插入的数据位置超过链表长度;下溢出指的是删除/插入的数据位置为负。比如,链表长度为2,现在执行操作要求删除位置为4的数原创 2017-07-20 10:29:25 · 667 阅读 · 0 评论 -
循环单链表--JAVA
前两章写了单链表的操作,在这里,写了一个循环单链表。为了更好地实现各操作,在此引入头结点,这里的头结点与前两章定义的头结点不同,前两章的头结点即首节点,而这里的头结点并不是首节点。这样说可能有些糊涂。那就再详细地解释一下头结点和首节点的区别,头结点是物理上的第一个节点,但是它存放的不是我们所需要的数据,而是链表的一些信息,如链表的长度等,也可以是null,当链表为空时,头结点为空,但是它存在,它的原创 2017-07-21 09:37:48 · 529 阅读 · 0 评论 -
循环双链表--JAVA
这一篇来写循环双链表,循环双链表,包含两个关键字:双链表,循环。先说双链表,双链表是在单链表的基础上加上一个指向前面的指针。较之单链表,双链表可以从任意位置进行遍历,而不需要每一次遍历都要从头开始。再说循环,我们在对普通非循环链表进行操作时,需要考虑链表的索引范围,容易造成空指针错误。循环则可以规避这种情况的发生,因为即使选择操作的索引范围超过链表的长度,链表会重头继续遍历,可以成功规避索原创 2017-07-21 13:15:20 · 717 阅读 · 0 评论 -
单链表操作--java
单链表的简单操作,包括新增头结点、删除头结点、在任意位置新增节点、在任意位置删除节点、通过节点位置删除节点、通过数据域中的数删除节点。 注意事项:1、添加操作:若该链表为空,则不应该插入非头节点,若该链表不为空,不允许插入超出链表长度的数据,如链表长度为2,则链表位置为0,1,此时插入数据最大位置为2,不允许插入数据位置设为3.2、删除操作:若该链表为空,不允许进行删除操作原创 2017-07-19 16:35:15 · 299 阅读 · 0 评论 -
二叉树的相关操作(一)-java
二叉树的相关操作,主要包括创建、判空、删除子树、删除节点、各种遍历算法等(包括先根遍历、中根遍历、后根遍历、层次遍历等)。本章重点说明四种遍历算法与删除节点操作的实现。以如下二叉树为例:1、先根遍历:先访问根节点,然后是左节点,然后是右节点,递归直至访问结束;上述二叉树先根遍历顺序为ABDGCEFH2、中根遍历:先访问左节点,然后根节点,然后右节点,递归访问至结束;上述二叉树中根遍原创 2017-07-24 17:25:23 · 248 阅读 · 0 评论