root

设计模式之组合模式(Composite)

南楼画角 提交于 2020-02-01 08:54:54
组合模式(Composite):将对象组合成树形结构以表示"部分-整体"的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。让可以可以一致地使用组合结构和单个对象。 Component:为组合中的对象声明接口,在适当情况下,实现所有类所有接口的默认行为。证明一个接口/用于访问和管理Component的子部件。 Leaf:在组合中表示叶节点的对象,叶节点没有子节点。 Composite:定义有枝节点行为,用来存储子部件,在Component接口中实现与子部件有关的操作,比如增加Add和删除Remove。 需求中是体现部分与整体层次的结构时,以及希望用户可以忽略组合对象与单个对象的不同,统一地使用组合结构中的所有对象是,考虑使用组合模式。 Composite1.cs 代码 using System;using System.Collections.Generic;using System.Text;//组合模式(Composite):将对象组合成树形结构以表示"部分-整体"的层次结构。组合模式使得用户对单个//对象和组合对象的使用具有一致性。让可以可以一致地使用组合结构和单个对象。//Component:为组合中的对象声明接口,在适当情况下,实现所有类所有接口的默认行为。证明一个接口//用于访问和管理Component的子部件。//Leaf:在组合中表示叶节点的对象

Python去除每行文字之前的空格

混江龙づ霸主 提交于 2020-02-01 03:11:18
Python去除每行文字之前的空格 PS: 也是从网上各个帖子中学习的Python,因此代码的格式以及内容有粘贴网上其他大神的代码,如有侵权请告知删除 软件制作原因:网上粘贴代码,每行代码前都有序号,例如 1 int a = 0 2 float b = 0 …… 代码行数少可以手动,当代码很多,比如1000行时,那手动删除序号就太…… 界面示例 from tkinter import * import tkinter . filedialog root = Tk ( ) root . title ( 'Delete Head Space' ) root . geometry ( '400x300' ) FileName1 = "" FileName2 = "" def Button1Anwser ( ) : global FileName1 Path = Label ( root , text = '' ) FileName1 = tkinter . filedialog . askopenfilename ( ) Path . config ( text = FileName1 ) Path . grid ( row = 1 , column = 0 , sticky = W ) def Button2Anwser ( ) : global FileName2 Path =

oh-my-zsh安装与配置

孤人 提交于 2020-02-01 02:38:28
基本组件: yum install -y zsh git 安装 oh my zsh wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh 查看 zsh 的安装目录:which zsh 使用 chsh 命令切换使用的 shell 程序 chsh -s /usr/bin/zsh 安装 ZSH 图标字体: git clone https://github.com/powerline/fonts.git 更换 ZSH 主题: 使用 vi 工具编辑 .zshrc文件,更改 ZSH_THEME=“robbyussell” 字段为 ZSH_THEME=“你想要的主题” source ~/.zshrc 命令更新配置文件。 安装插件: wd、zsh-syntax-highlighting、zsh-autosuggestions 。 依次执行: cd ~/.oh-my-zsh/custom/plugins git clone https://github.com/zsh-users/zsh-syntax-highlighting.git git clone https://github.com/zsh-users/zsh-autosuggestions.git vi 编辑 ~/

centos7.7系统SVN安装示例

家住魔仙堡 提交于 2020-02-01 01:34:56
1.yum install subversion 2. mkdir -p /home/svnstorage/svn/project1 svnadmin create /home/svnstorage/svn/project1 3.vi /home/svnstorage/svn/project1/conf/authz Android=xiaowei,xiaofen Sharedocuments=xiaoming root=root [project1:/] @root=rw [project1:/Android] @Android=rw [project1:/Sharedocuments] @Sharedocuments=rw 4.vi /home/svnstorage/svn/project1/conf/passwd root=svn2019 xiaowei=2019 xiaofen=2019 xiaoming=2019 5.vi /home/svnstorage/svn/project1/conf/svnserve.conf anon-access=read auth-access=write password-db=passwd authz-db=authz realm=project1 6.vim /root/.subversion/server 取消store

树莓派安装mysql

浪尽此生 提交于 2020-02-01 00:13:58
步骤 安装 mysql server $ sudo apt-get update $ sudo apt-get install mysql-server 安装完毕以后,root密码默认为空。即任意密码都可以登录。 $ sudo mysql -u root $ 回车登录数据库 # 出现下面提示,表示成功 Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 13 Server version: 10.1.37-MariaDB-0+deb9u1 Raspbian 9.0 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> # MariaDB是一个完全兼容mysql的数据库,具体可以自行百度。 设置root密码 MariaDB [(none)]> use mysql; MariaDB [mysql]> update user set plugin='mysql_native_password

查找命令之find 与 grep

痞子三分冷 提交于 2020-01-31 17:40:58
一、Find(查找文件或目录) 1.在/var/lib目录下查找所有文件其所有者是root用户的文件。 find /var/lib -user root 2.查找家目录其所有者不是linux用户,并用长格式显示(如ls –l 的显示结果)。 把前面的结果当成是后面的命令中的 { } 的输入,然后执行并输出到屏幕 sudo find ~ ! -user linux -exec ls -l { } \ ; 2.1、查找文件然后复制到/tmp目录下 find /var/lib -user root -exec cp -r { } /tmp \ ; 3.查找某一目录下名字是*.txt的文件 find /home -name "*.txt" -type f 3.1、查找某一目录下名字是*.txt的目录 find /home -name "*.txt" -type d 4.当前目录查找30天以前的文件 find . -name "*.txt" -type f mtime +30 4.14.当前目录查找1天以内的文件 find . -name "*.txt" -type f mtime -1 5.查找大于5M的文件 M是大写,k是小写,才能识别 find . -name "*.txt" -type f mtime -1 -size 5M 6.查找权限是644的文件 文件默认权限666,目录777

左倾红黑树

佐手、 提交于 2020-01-31 14:07:19
普通红黑树:允许一个节点有两个红色的子节点,对应2-3-4树 左倾红黑树:一个节点只能有一个红色子节点,并且是左节点,对应2-3树 在学习完红黑树之后我完全不理解是怎么想到红黑树这一种数据结构的,所以我又去看了算法第四版,明白了当红黑二叉树是由2-3查找树(B-树)推导来的 接下来学习 红黑二叉查找树(原理、实现) 对相应知识进行总结 1. 2-3查找树 2-3查找树 2. 红黑二叉查找树 这里所探究的是左倾红黑树 红黑树就是利用标准二叉树中结点的额外信息表示2-3树,额外信息,其实就是指的(结点)链接的颜色 黑链接是2-3树中的普通链接,也是标准二叉树中的链接。 红链接是将两个2-结点,变为一个3-结点。 所以,我们只需要将3-结点还原成由红链接连接的2个2-结点,即可去掉3-结点!而对于3-结点的子结点,则分配给两个2-结点来完成。 2.1 等价定义 一个静态的红黑树:(不需要再变换的、操作完成后的) 所有红链接均为左链接 没有任何一个结点与两个红链接相连 -该树是完美黑色平衡的,即任意空结点到根结点的路径上黑链接数量相同!(黑链数目既是树的高度) ① 对于第一点,对于红黑树红链接为右链接是可以的,但是这里为了统一和美观,以及减少讨论的情况和复杂度,我们统一规定左边,也就是左倾红黑树 ② 为啥不能两个红链接相连?两个红链接相连其实就产生了4-结点,这在2-3树中是会被转化的

线段树

陌路散爱 提交于 2020-01-31 13:49:02
线段树 线段树是一种基于分治思想的二叉树结构,用于在区间上进行信息统计,区间修改. 线段树有如下几种性质 1·每个节点代表一个区间 2·唯一的根节点,代表全部区间 3·每个叶子节点代表一个长度为1的区间 对于每个内部节点 非叶节点,左子节点[l,mid] 右子节点[mid + 1,r] 存储方式 使用数组,仿照二叉堆存储,父的左孩子是 x * 2,右孩子是 x * 2 + 1 使用struct结构存储最后一层会产生空余, 所以数组长度必须为 4N,才不会越界 建树 struct SegmentTree{ int sum,mul,add,maxm; }tree[MAX_N << 2]; void build(int root, int l, int r){ tree[root].mul = 1; tree[root].add = 0; if(l == r)tree[root].sum = a[l]; else{ int mid = (l + r) >> 1; build(root * 2, l, mid + 1); build(root << 1 | 1, mid + 1,r); //求区间最大 tree[root].sum = max(tree[root << 1].sum ,tree[root * 2 + 1].sum); //求区间和值 tree[root].sum =

Mysql 5.7.29 手动安装

落爺英雄遲暮 提交于 2020-01-31 13:36:34
在win10下MySQL安装: 1)下载MySQL,再解压到D盘下, 注意不要放在C盘下哦! 配置环境变量: 2)在D:\mysql-5.7.29-winx64目录下新建my.ini文件,复制如下内容 [mysqld] #设置3306端 port = 3306 # 设置mysql的安装目录 basedir=D:\mysql-5.7.29-winx64 # 设置mysql数据库的数据的存放目录 datadir=D:\mysql-5.7.29-winx64\data # 允许最大连接数 max_connections=200 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 3)必须以管理员身份运行cmd 如图所示操作: a) 进入mysql目录下的bin mysqld --install b) 用命令创建data目录 mysqld --initialize-insecure 注意:如果运行mysqld --install

Tkinter之optionMenu

倖福魔咒の 提交于 2020-01-31 08:26:58
PythonGUI TKinter(一) –学习猿地(新版全套Python基础教程(下) #GUI编程) optionMenu import tkinter # 复选框组件 root = tkinter . Tk ( ) root . geometry ( '500x500' ) # 创建变量接受结果 result = tkinter . StringVar ( ) result . set ( '请选择问题' ) optionMenu = tkinter . OptionMenu ( root , result , '你是谁' , '你住哪' , '你多大' ) print ( result ) optionMenu . pack ( ) root . mainloop ( ) 来源: CSDN 作者: Jocker_Tong 链接: https://blog.csdn.net/Weary_PJ/article/details/104108275