常用排序算法的时间和空间复杂度总结
转载:https://www.cnblogs.com/Kiro/p/3349353.html 这里边冒泡,插入,归并都是稳定排序,而其他的都不稳定 冒泡 Time: Ave : O(n^2) Bad : O(n^2) Good:O(n) Space: O(1) 插入 Time: Ave : O(n^2) Bad : O(n^2) Good:O(n) Space: O(1) 堆排序 Time: Ave : O(nlogn) Bad : O(nlogn) Good:O(nlogn) Space:
STM32CUBEMX使用操作记录
1、New Project 2、选择芯片型号 3、配置相关外设 4、例如选择了GPIO_Output 5、配置时钟树 灰色框点不了,这和你上一步相关外设配置有关,鼠标靠近灰色框,系统会给出提示 6、工程命名,设置工程位置等 6、关于用户程序书写的位置 7、如何再次配置STM32CUBEMX
第十二周Java总结
一、总结 容器 JPanel类 JPanel类能够完成各种复杂的界面显示。 JSplitPane类 JSplitPane类的主要功能是分割面板,可以将一个窗体分为两个子窗体,可以是水平排列,也可以是垂直排列。 JTabbedpane类 JTabbedpane类是在一个面板上设置多个选项卡供用户选择。 JScrollPane类 JScrollPane类主要包括JViewport和JScrollBar两部分组成,前者主要是显示一个矩形的区域让用户浏览,而后者主要是形成水平或垂直的滚动条。 JDes
scala 基础知识 FAQ
问题1: 抽象成员初始化规则 ① 父类先初始化 ② 在初始化的过程中,如果 val 发生重写,只有最后一个重写生效。前面的会变成零值,后面的会直接继承。 参考资料:https://docs.scala-lang.org/tutorials/FAQ/initialization-order.html 示例: abstract class A {
val x1: String
val x2: String = "mom"
println("A: " + x1 + ", " +
二叉搜索树BST(C语言实现可用)
1:概述 搜索树是一种可以进行插入,搜索,删除等操作的数据结构,可以用作字典或优先级队列。二叉搜索树是最简单的搜索树。其左子树的键值<=根节点的键值,右子树的键值>=根节点的键值。 如果共有n个元素,那么每次操作需要的O(log n)的时间. 常用知识点 满二叉树 : 一棵深度为k,且有2^k-1个节点的二叉树,称为满二叉树。这种树的特点是每一层上的节点数都是最大节点数。 完全二叉树 : 而在一棵二叉树中,除最后一层外,若其余层都是满的,并且最后一层要么是满的,要么在右边缺少连续若干节点,则此
mssql sqlserver 添加表注释和添加列注释的方法分享
转自: http://www.maomao365.com/?p=8919 摘要: 下文讲述使用sql脚本对数据表或数据列添加注释(备注说明)的方法分享,如下所示: 实验环境:sql server 2008 r2 实现思路: 使用系统存储过程sys.sp_addextendedproperty对表和列的相关属性进行设置,达到为数据表或数据列添加注释的目的 --数据表添加注释的方法分享
EXEC sys.sp_addextendedproperty @name = N'MS_Descriptio
Linu创建回收进程fork、exec、wait、waitpid函数的理解
1. fork int pid = fork(); if (pid == -1 ) {//返回-1,说明fork失败 perror("fork"); exit(1); } else if (pid > 0) {//返回子进程pid,说明是父进程 } else if (pid == 0) {//返回0,说明是子进程 } fork出来的子进程和父进程相同的是:全局变量、.data、.text、堆、栈、环境变量、工作目录、宿主目录、信号处理方式等 不同的
关于 CopyOnWriteArrayList remove(Object o)方法的疑问记录
源码如下 1 /**
2 * Removes the first occurrence of the specified element from this list,
3 * if it is present. If this list does not contain the element, it is
4 * unchanged. More formally, removes the element with the lowest in
RSA+AES请求组合加密
基本概念 加密方式分为:AES(对称加密)和RSA(非对称加密) AES算法流程 发送方: 创建AES私钥,用口令对私钥加密 将加密后的私钥发送给接收方 用私钥加密明文,并将密文和加密后的私钥发给接收方 接收方: 解密这个私钥 用解密后的密钥把密文解密成明文 RSA算法流程 接收方: 创建RSA密钥对(公钥和私钥)公钥发给发送方,私钥存在接收方。 接收方用私钥对密文解密 发送方: 公钥对明文加密,将密文发给接收方 RSA+AES结合加密 接收方: 创建RSA密钥对(公钥、私钥)把公钥发给发送方
linux命令<一>
sudo命令以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。 sudo apt-get update 更新 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的地址,这样才能获取到最新的软件包; sudo apt-get upgrade 升级已安装的所有软件包,升级的版本就是更新的源地址里的版本 sudo apt-get install ubuntu-desktop 安装软件
flink on yarn 部署
一、部署说明 flink是apache一款大数据实时计算应用,在生产环境中,用来实时计算应用产生的日志,数据等,满足预警,入库等需求 二、系统环境 系统版本:centos 7.2 java版本: jdk 1.8.0_161 zookeeper版本: zookeeper-3.4.9 hadoop版本: Hadoop-2.8.3.tar.gz flink版本: flink-1.4.0 四个机器,其中192.168.3.60作为flink 的master,也就是jobmanager,其它三个机器作为
20182332 《数据结构与面向对象程序设计》实验八报告
20182332 《数据结构与面向对象程序设计》实验八报告 课程:《程序设计与数据结构》 班级: 1823 姓名: 盛国榕 学号:20182332 实验教师:王志强 实验日期:2019年10月28日 必修/选修: 必修 1.实验内容 参考教材PP16.1,完成链树LinkedBinaryTree的实现(getRight,contains,toString,preorder,postorder)。用JUnit或自己编写 驱动类对自己实现的LinkedBinaryTree进行测试,提交测试代码运行
2019/11/16 C语言规范 4.可读性
1.注意运算符的优先级,并用括号明确表达式的操作顺序,避免使用默认优先级 2.涉及物理状态或者含有物理意义的常量,不应直接使用数字,必须用有意义的枚举或宏来代替 3.程序中有关系的代码不要分开,连着上下行写,增强可读性 4.不要使用难懂的技巧性很高的语句,高技巧语句不代表高效率的程序,程序的效率关键在算法 ------参考《C语言精彩例程200例》
今日推荐
周排行