静态创建二叉树及其遍历
我们以这个二叉树为例 1.构造二叉树的链式存储结构 1 struct BTNode{ 2 char data; //结点数据域 3 struct BTNode * pLchild; //左孩子指针-->指向左孩子 4 struct BTNode * pRchild; //右孩子指针-->指向右孩子 ...
数据结构笔记2(c++)_跨函数使用内存的问题
预备知识 1.所有的指针变量只占4个子节 用第一个字节的地址表示整个变量的地址 //1.cpp 所有的指针变量只占4个子节 用第一个字节的地址表示整个变量的地址 # include <stdio.h> int main(void) { double * p; double x = 66.6; p = ...
数据结构篇——二叉排序(查找,搜索)树
引入 基本性质: 二叉排序树(又叫二叉搜索、查找树) 是一种特殊的二叉树,定义如下: 1. 若左子树不空,则左子树上所有结点的值均 小于 它的根结点的值; 2. 若右子树不空,则右子树上所有结点的值均 大于 它的根结点的值; 3. 左、右子树也分别为二叉排序树。 4. 不允许有键值相同结点。【如果真 ...
程序员的快乐往往就是这么朴素无华且枯燥!
程序员的快乐往往就是这么朴素无华且枯燥! 我,打开了 LeetCode 官网,打算随意的做几题,看到 877 号问题几百个字的描述我却使用一行代码仅仅 11 个字母就 AC,哎,枯燥。 想象着评论区里面他们们给我拼命点赞的样子,是多么的滑稽,我笑了笑,哎,程序员的快乐,往往就这么朴实无华,且枯燥。 ...
数据结构与算法-链表
存储结构: 数组是一块连续的内存空间存储的,然而链表是零散的内存空间存储的。 链表在插入和删除操作比数组高效,时间复杂度仅为O(1),链表不是使用连续的内存空间,所以可以充分利用零散的内存空间。 链表结构: 1. 单向链表 2. 双向链表 现在最常见的链表结构: 单向链表、双向链表,下面说一下这几种 ...
C++动态规划求解0-1背包问题
问题描述: 给定n种物品和一背包。物品i的重量是wi,其价值为vi,背包的容量为C。问:应该如何选择装入背包的物品,是的装入背包中物品的总价值最大? 细节须知: 暂无。 算法原理: a.最优子结构性质 0-1背包问题具有最优子结构性质。设(y1,y2,…,yn)是所给0-1背包问题的一个最优解,则( ...
用js刷剑指offer(第一个只出现一次的字符)
题目描述在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).牛客网链接js代码function FirstNotRepeatingChar(str){ // write code here let ma... ...
数据结构篇——二叉树
引入 在数据结构中,将现实生活中的树根抽象为根节点(Root)树叉抽象为结点(Node),将叶子抽象为(Leaf),将树枝抽象为边(Edge),且一条边只用来连接两个结点,互为父子节点。 二叉树的性质 二叉树 1. 树可以没有结点,这种情况下把树称为 空树。 2. 树的 层次 从根节点开始算,即根节 ...
图论篇6——割点(关节点)
引入 连通图 在一个 无向图 $G$中,若从顶点$i$ 到顶点$j$有路径相连,则称 $i$和$j$是连通的。如果图中任意两点都是连通的,那么图被称作连通图。如果$G$是有向图,则称为强连通图(注意:需要双向都有路径)。如果是单向连通,则称$G$为单向连通图。 割点(关节点) 在无向连通图$ ...
20191030-带返回值的回溯算法Leetcode解数独
题目描述 编写一个程序,通过已填充的空格来解决数独问题。 一个数独的解法需遵循如下规则: 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。 空白格用 '.' 表示。 一个数独。 答案被标成红色。 Note: ...
ArrayList 与LinkedList 的区别及分别的优缺点
ArrayList,与LinkedList都是属于实现了List接口的类。首先从名字前缀开始看 ,Array表示数组,Link表示链表。 所以ArrayList底层是基于动态数组的。而LinkedList底层是基于双向链表的。 ArrayList必须是连续内存的,而LinkedList不要求连续内存 ...
2018-2019 ACM-ICPC, Asia Xuzhou Regional Contest- H. Rikka with A Long Colour Palette -思维+贪心
"2018 2019 ACM ICPC, Asia Xuzhou Regional Contest H. Rikka with A Long Colour Palette 思维+贪心" 【Problem Description】 有$k$种颜色,给你$n$个区间段,选择一种合适的方案给每个区间段染色 ...
差分约束算法————洛谷P4878 [USACO05DEC] 布局
题目: 不难看出题意主要是给出ml+md个格式为xi-xj<=ak的不等式,xi-xj为i,j俩头牛的距离,要我们求x1-xn的最大值。 经过上下加减我们可以将这几个不等式化成x1-xn<=a1+a2+a3+a4+....+ak,在这加减的过程中我们不难看到dijstra的身影,这加加减减的过程不正 ...
leetcode不同路径
62. 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。 问总共有多少条不同的路径? 来源:力扣(LeetCode)链接:https://leetcode-cn ...
CodeForces 1251A --- Broken Keyboard
【CodeForces 1251A Broken Keyboard 】DescriptionRecently Polycarp noticed that some of the buttons of his keyboard are malfunctioning. For simplicity, w ...