单链表的反转 回顾题目戳这里 https://pintia.cn/problem-sets/15/problems/724 带头节点的反转代码 不带头节点的反转代码 总结 带头节点的思路简单,就是一个头插法构建单链表。 不带头节点的思路我有点迷,现在还没弄明白。 ...
分类:
编程语言 时间:
2019-07-16 10:28:17
阅读次数:
115
先看一个问题 将数列 {1, 3, 6, 8, 10, 14 } 构建成一颗二叉树 问题分析: 线索二叉树基本介绍 1、n个结点的二叉链表中含有n+1 【公式 2n-(n-1)=n+1】 个空指针域。利用二叉链表中的空指针域,存放指向该结点在某种遍历次序下的前驱和后继结点的指针(这种附加的指针称为" ...
分类:
编程语言 时间:
2019-07-16 00:29:37
阅读次数:
354
[TOC] 稀疏数组和队列 1.稀疏数组 所谓稀疏数组就是当数组中大部分的内容值都未被使用(或都为零),在数组中仅有少部分的空间使用。因此造成内存空间的浪费,为了节省内存空间,并且不影响数组中原有的内容值,我们可以使用稀疏数组去压缩数据。OK,如果你不明白,那我们来看一个例子。 在一个 ...
分类:
编程语言 时间:
2019-07-15 21:24:24
阅读次数:
131
数据结构中逻辑结构分为线性结构和非线性结构,线性结构是n个数据结构的有序集合; 线性表的顺序表示指的是用物理上的一段连续的地址来存储数据元素; 堆是一种经过排序的完全二叉树,其中任一非叶子节点的值均不大于(或不小于)其左孩子和右孩子节点的值; ...
分类:
编程语言 时间:
2019-07-14 19:47:25
阅读次数:
99
问题求解 数据结构及抽象数据类型 算法的特性及分类 算法的效率度量 数据结构的选择和评价 确定恰当的数据结构表示该模型 数据结构与算法的核心--算法设计 问题求解,设计方法,算法理论,数据模型,描述语言 >数据结构 什么是数据结构?什么是算法?怎么理解两者之间的关系? 解决问题的效率与数据结构有什么 ...
分类:
其他好文 时间:
2019-07-13 19:49:47
阅读次数:
103
关于读书 《知行 技术人的管理之路》 刘建国 精读 这本书是从极客专栏上看到的,首先看了36讲的专栏, 然后感触颇深,最后买一本实体书,算是一种收藏,主要还是对自己观念的转变。 当然,这本实体书最近正在二刷,又有很多的收获。其实知识和技能都需要我们的刻意练习。 《态度》 吴军 精读 这是 吴军博士的 ...
分类:
其他好文 时间:
2019-07-08 00:33:55
阅读次数:
106
查找算法介绍 在java中,我们常用的查找有四种: 1)线性查找算法 示例: 有一个数列: {1,8, 10, 89, 1000, 1234} ,判断数列中是否包含此名称【顺序查找】 要求: 如果找到了,就提示找到,并给出下标值。 思路:将数列遍历匹配,就是用for循坏遍历,if匹配数据,找到下标值 ...
分类:
编程语言 时间:
2019-07-07 14:39:58
阅读次数:
158
什么是中心扩散法? 中心扩散法,顾名思义就是以某一个位置为中心,向周围扩散,直到满足条件或到达边界。 Leetcode 5.最长回文子串 题目描述:给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1:输入: "babad",输出: "bab",注意: ...
分类:
编程语言 时间:
2019-07-07 14:16:12
阅读次数:
292
什么是滑动窗口? 窗口,其实就是一个队列;滑动窗口,就是将这个队列朝着一个方向滑动,也就是将先进入队列的元素移出,重新往队列中添加元素。 Leetcode 3.无重复字符的最长子串 题目描述:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1:输入: "abcabcbb",输 ...
分类:
编程语言 时间:
2019-07-06 17:32:55
阅读次数:
154
可能很多人不会留意到这个问题,今天恰好碰到了,然后来稍微讨论一下 直接插入排序应该是很多数据结构与算法书里第一个讲的排序算法,算法的描述是这样的: 把待排序列视作两段,一段是已排序列,一段是未排序列。每一趟排序时,为未排序列的首位在已排序列中进行查找(因为是直接插入排序,所以这里特指逐个比较)其合适 ...
分类:
编程语言 时间:
2019-06-30 09:15:20
阅读次数:
110