![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
Constantdropping
这个作者很懒,什么都没留下…
展开
-
数据结构(第一章)基础知识
一、基本概念和术语 数据(data):指所有能输入到计算机中并能被计算机程序处理的符号的总称。 数据元素(data element):是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。有时,一个数据元素可由若干个数据项(data item)组成。数据项是数据的不可分割的最小单位。 数据对象(data object):是性质相同的数据元素的集合,是数据的一个子集。 ...原创 2018-03-27 21:41:39 · 240 阅读 · 0 评论 -
二分查找
二分查找一般由三个主要部分组成: 预处理 —— 如果集合未排序,则进行排序。 二分查找 —— 使用循环或递归在每次比较后将查找空间划分为两半。 后处理 —— 在剩余空间中确定可行的候选者。 具体实现:/** * 二分查找,找到该值在数组中的下标,否则为-1 */static int binarySerach(int[] array, int target)...原创 2018-09-07 14:24:04 · 132 阅读 · 0 评论 -
python--使用两个栈实现队列
问题:用两个栈来实现一个队列,完成队列的Push和Pop操作。分析:栈的特性是“先进后出”,队列为“先进先出”。思路:入队:直接把新元素压入stack1即可。 出队:根据队列先进先出的性质,由于先进入队列的元素被压倒stack1的栈底,要想实现先入队列的先出队,需要将stack1中的元素逐个弹出并压入stack2,经过弹出和压入之后最先进入的元素就处于st...原创 2019-08-01 14:22:16 · 282 阅读 · 0 评论 -
Python--实现二叉树的遍历操作
一、首先二叉树的定义:class TreeNode: def __init__(self, x): self.val = x self.left = None self.right = None 构建一棵二叉树:class Node(object): def __init__(self, val): self.val...原创 2019-08-01 15:35:22 · 199 阅读 · 0 评论 -
(面试)打印二叉树的所有最右节点--python
打印二叉树最右侧节点其实是改自二叉树的层次遍历,多了一步,即输出每一层的末尾节点。如下题,输出最右侧节点结果应为[3,20,7]。首先看二叉树的层次遍历,使用队列(queue)来存储二叉树的节点, 具体代码层次遍历实现:def levelOrder(self, root: TreeNode) -> List[List[int]]: ...原创 2019-08-14 15:31:13 · 1436 阅读 · 0 评论 -
java实现单链表常见操作
转载自:https://www.cnblogs.com/bjh1117/p/8335108.html一、概述: 本文主要总结单链表常见操作的实现,包括链表结点添加、删除;链表正向遍历和反向遍历、链表排序、判断链表是否有环、是否相交、获取某一结点等。二、概念:链表: 一种重要的数据结构,HashMap等集合的底层结构都是链表结构。链表以结点作为存储单元,这些存储单元可以是不连...转载 2019-08-10 10:44:31 · 176 阅读 · 0 评论 -
LeetCode上二叉树深度的相关题目总结
一、二叉树的最小深度(LeetCode111题)def minDepth(self, root: TreeNode) -> int: if root: if root.left and root.right: return 1 + min(self.minDepth(root.left),self.minDep...原创 2019-08-11 21:14:26 · 278 阅读 · 0 评论