0

【视频+图文+动画】详解选择排序(轻松易理解系列)

[TOC] 一、视频讲解选择排序 "点击这里去B站观看视频~" 二、选择排序的思想 思想:(注:n为数组长度) 第一次交换中: 假定最小数是arr[0] 从arr[1] arr[n 1]找最小值与arr[0]交换。 交换过后arr[0]位置上的数确定 第二次交换中: 假定最小数是arr[1], 从a ...

小乔的编程内容分享站 发布于 2020-04-11 12:58 评论(0)阅读(30)
0

【学习笔记】SICP读书笔记&&UCB CS61A学习笔记(学习中。。。)

教材官方在线书籍https://mitpress.mit.edu/sites/default/files/sicp/full-text/book/book.html官方太丑了,又别人重新排版优化:http://sarabander.github.io/sicp/然后UCB的python版本在线书籍也... ...

九命猫幺 发布于 2020-04-11 10:48 评论(0)阅读(52)
0

二叉搜索树

二叉搜索树(Binary Search Tree) 定义:二叉搜索树是二叉树的一种,是应用非常广泛的一种二叉树,英文简称为 BST 性质: 任何一个节点的值都大于其左子树所有节点的值 任意一个节点的值都小于其右子树所有节点的值 它的左右子树也是一棵二叉搜索树 二叉搜索树可以大大提高搜索数据的效率 二 ...

松鼠航 发布于 2020-04-10 22:58 评论(0)阅读(20)
0

0-随机数去重

/** * 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000), * 对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。 * 请你协 ...

太自由 发布于 2020-04-10 22:10 评论(0)阅读(34)
0

1-算法题之空瓶子换水喝

/** * 有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶, * 她最多可以换多少瓶汽水喝?”答案是5瓶, * 方法如下: * 先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。 * 然后你让老板先借给你 ...

太自由 发布于 2020-04-10 22:06 评论(0)阅读(79)
0

数据结构-排序法

排序好处: 数据较容易阅读 数据较利于统计及整理 可大幅度减少数据搜索时间 ...

LiangQP 发布于 2020-04-10 17:18 评论(0)阅读(44)
0

Codeforces Round #632 (div.2) C. Eugene and an array

https://codeforces.ml/contest/1333/problem/C 大概题意是规定和为0的数组为不合格数组,询问给定数组中共有多少个合格子数组。 解题 子数组的数量 一个长度为 $n$ 的数组 $a[0,n 1]$,选取 $i$ 作为子数组的终点,那么我们可以选取 $[0,i] ...

DOEMsy 发布于 2020-04-10 10:33 评论(0)阅读(27)
0

手撸平衡二叉树!保证讲懂平衡过程!

md还不会用博客园的编辑器,排版炸了,可以去csdn看。 https://blog.csdn.net/wonder13579/article/details/105415879 首先我们来复习一下基础知识吧 二叉查找树 左子树的所有节点,值都小于本节点,右子树的所有节点,值都大于本节点。 由于这个性 ...

Wonder007 发布于 2020-04-09 17:48 评论(0)阅读(46)
0

线索二叉树的线索化及遍历

摘要 + "定义和数据结构" + "线索化" + "遍历" 一、定义和数据结构 1. 定义 结点结构中含有线索的的二叉树称为线索二叉树。 若结点有左子树,则其lchild域指示其左子,否则令lchild域指示其前驱;若结点有右子树,则其rchild域指示其右子,否则令rchild域指示其后继。 为了 ...

田世豪 发布于 2020-04-08 22:52 评论(0)阅读(42)
0

Cows POJ - 2481 (树状数组 + 单点更新 + 区间查询)

Cows 思路:我们可以按照每个范围的S从小到大排序,相同的S按E从大到小排序,这样的好处是当前范围的S一定大于等于之前范围的S(即当前的范围可能被之前范围的包围),那么我们只需要统计之前的范围E比当前的范围E大于等于的有几个即可。这里需要注意如果两个范围完全相同的情况,我们可以把当前的范围与之前的 ...

SummerMingQAQ 发布于 2020-04-08 09:45 评论(0)阅读(22)
0

2019ICPC(银川) - Delivery Route(强连通分量 + 拓扑排序 + dijkstra)

Delivery Route 题目:有n个派送点,x条双向边,y条单向边,出发点是s,双向边的权值均为正,单向边的权值可以为负数,对于单向边给出了一个限制:如果u->v成立,则v->u一定不成立。问,从s出发,到其他所有点的最短路是多少(包括s)。 思路:对于单向边的限制,我们可以这么理解:双向边相 ...

SummerMingQAQ 发布于 2020-04-07 22:05 评论(0)阅读(34)
0

自己实现一个动态数组

数据结构是计算机存储、组织数据的方式。 线性结构 线性表是具有n个相同类型元素的有限序列(n>=0) 常见的线性表有 数组 链表 栈 队列 哈希表 手动实现一个动态数组:GitHub链接:https://github.com/iosKey/ArrayList 核心代码: 1 //数组使用,可以添加任 ...

Justin_mr 发布于 2020-04-07 10:42 评论(0)阅读(27)
0

【视频+图文+动画】详解冒泡排序(万字长文,超级详细~~)

冒泡排序是排序算法中最易理解的一种排序方法。 今天就让我们以非常容易理解的视频+图文+动画的形式来学习 我们的入门排序算法:冒泡排序。 ...

小乔的编程内容分享站 发布于 2020-04-07 10:16 评论(0)阅读(46)
0

聊一聊那些线性时间复杂度的排序算法

实际上,基于比较和交换的排序算法,它们的时间复杂度的下限就是O(nlog2n)。冒泡排序,插入排序等自不必多说,时间复杂度是O(n2),即使强如快速排序,堆排序等也只是达到了O(nlog2n)的复杂度。那么那些传说中可以突破O(nlog2n)下限,达到线性时间复杂度O(n)的排序算法到底是什么样的呢 ...

iwiniwin 发布于 2020-04-07 09:45 评论(0)阅读(282)
46

[一起读源码]走进C#并发队列ConcurrentQueue的内部世界

决定从这篇文章开始,开一个读源码系列,不限制平台语言或工具,任何自己感兴趣的都会写。前几天碰到一个小问题又读了一遍ConcurrentQueue的源码,那就拿C 中比较常用的并发队列ConcurrentQueue作为开篇来聊一聊它的实现原理。 话不多说,直奔主题。 要提前说明下的是,本文解析的源码是 ...

balahoho 发布于 2020-04-07 09:02 评论(12)阅读(3605)
0

数据结构(二)—栈

[TOC] 数据结构(二)—栈 一、栈的概念及特点 概念 栈 (stack)是限定仅在表尾进行插入或删除操作的线性表,其表尾端称为 栈顶 (top),表头端称为 栈底 (bottom),不含元素的空表称为空栈。 特点 后进先出(LIFO,Last In First Out) 基本操作 初始化 入栈 ...

煦阳 发布于 2020-04-06 21:21 评论(0)阅读(31)
0

【LeetCode】25.K个一组翻转链表

题目描述 "25.K个一组翻转链表" 给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。 k是一个正整数,它的值小于或等于链表的长度。 如果节点总数不是k的整数倍,那么请将最后剩余的节点保持原有顺序。 说明:你的算法只能使用常数的额外空间。 你不能只是单纯的改变节点内部的值,而是需要实 ...

握不住手中沙 发布于 2020-04-06 17:14 评论(0)阅读(13)
0

Manacher算法解决最长回文子串长度问题

马拉车(Manacher)算法(具体算法流程看这个哥们的:https://blog.csdn.net/qq_35065720/article/details/104205920): 算法解决:在一个字符串中找到最长的回文字符串。 实现策略: 以每个位置作为中心,向两边扩展,可以确定奇回文,但是偶回文 ...

E-Dreamer 发布于 2020-04-06 16:45 评论(0)阅读(21)
0

【LeetCode】24.两两交换链表中的节点

题目描述 "24.两两交换链表中的节点" 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 题目解析 方法一:递归 解题思路 递归的解题思路在于把子问题交给下一层递归函数处理,而本身只聚焦于本层次的问题,当你得到递归函数返回值 ...

握不住手中沙 发布于 2020-04-05 21:09 评论(0)阅读(16)
0

原码,反码与补码

本文讨论了原码,反码与补码相关的基础知识:对于一个数, 计算机要使用一定的编码方式进行存储. 原码, 反码, 补码是机器存储一个具体数字的编码方式. 机器数:一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1. 例:十进 ...

xuyaowen 发布于 2020-04-05 13:26 评论(0)阅读(21)