山中小屋


  • 首页

  • 标签

  • 分类

  • 归档

git远程库

发表于 2018-11-01 | 分类于 git |

初始化本地仓库

在本地创建一个空文件
进入文件夹

git init

添加文件到缓存区

在对应目录下

git add 文件

git add . 目录

阅读全文 »

git标签

发表于 2018-11-01 | 分类于 git |

创建标签

  1. 切换到要打标签的分支上
  2. git tag v1.0(默认标签是打在最新提交的commit上的)
  3. 切换到具体的commit上git tag v0.9 commit_id

创建带有说明的标签

git tag -a 标签名称 -m “说明” commit_id

(-a指定标签名,-m指定说明文字)

查看标签

  • git tag(标签列表)
  • git show 标签名称(具体某个标签的信息)

删除标签

(因为创建的标签都只存储在本地,不会自动推送到远程。所以,打错的标签可以在本地安全删除)

———git tag -d 标签名称

推送某个标签到远程

git push origin 标签名称

推送全部尚未推送到远程的本地标签

git push origin —tags

删除远程标签

  1. 先从本地删除 git tag -d 标签名称
  2. 远程删除 git push origin :refs/tags/标签名称

git分支

发表于 2018-11-01 | 分类于 git |

分支原理

参照:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001375840038939c291467cc7c747b1810aab2fb8863508000

创建分支

(创建的分支会在原有分支的进度上往前走一个位置,原分支指针不变)

  • git branch 分支名称

切换分支

  • git checkout 分支名称
  • (或者 git checkout -b 分支名称)


    阅读全文 »

浅谈字典查询速度快的原因

发表于 2018-09-02 | 分类于 随记 |

在查找大数据方面,map要优于数组,对于数组说来就是依次下标遍历了,直到找到这个数据为止,map理想情况下只需要0(1)的时间级,其查找的时间复杂度与元素的数量多少无关。那么map到底用了什么办法达到了这么快的查找速度。

map的组成

简单来说,map的组成是有一个哈希表(也叫散列表),是根据关键码值(key value)而直接进行访问的数据结构,也就是通过关键码值映射到表中一个位置来访问记录,以加快查找的速度。映射这种关系的函数就是哈希函数(散列函数)。

关系大概如下

记录存储的位置 = 哈希函数(key)

哈希函数

哈希函数到底是怎么映射这种关系的呢,哈希算法有很多种,用哪种算法,没有完美的算法,简单来说,使用一套算法,将所有的健转化为一个数组的索引,值为其对应的值,这样就可以通过f(key)找到数组的下标一次查找到对应的值,达到快速查找的目的。

举个最简单的例子,当然这里没有任何算法

1
2
3
4
5
6
7
8
9
#比如一个一组key是[3,5,4,7],在数组中的形式如下
0
1
2
3 值
4 值
5 值
6
7 值

这样做虽然在一定程度上浪费了空间,但是在这个大内存时代,用合理的空间换取时间是能承受的,而这种通过f(key)查找值的方法,也决定了key-value在形式上无序的,跟插入的顺序无关,跟key在哈希表中的f(key)顺序有关。

当然肯定会引申出几个问题,比如数值超过可以能计算的范围,怎么哈希计算,又比如理想的情况下哈希值是均匀分布,但是不一定所有被哈希的值一定是不一样,可能得到相同的哈希值对应多个值,这种情况也叫哈希冲突,这种冲突肯定是不能避免的,遇到哈希冲突又该怎么样,这个数组的长度又应该如何确定,如果长度太小,空间很容易满造成冲突,太长又浪费空间等等,下面将对此做简单的介绍。

阅读全文 »

注意力训练的方法《思维导图大全集》

发表于 2018-07-03 | 分类于 笔记 |

训练1:

把收音机的音量逐渐关小到刚能听清楚时认真地听,听3分钟后回忆所听到的内容。

训练2:

在桌上摆三四件小物品,如瓶子、铅笔、书本、水杯等,对每件物品进行追踪思考各两
分钟,即在两分钟内思考与某件物品的一系列有关内容,比如思考瓶子时,想到各种各样的瓶子,想到各种瓶子的用途,想到瓶子的制造,造玻璃的矿石来源等。

这时,控制自己不想别的物品,两分钟后,立即把注意力转移到第二件物品上开始时,较难做到两分钟后的迅速转移,但如果每天练习10多分钟,两周后情况就大有好转了。

训练3:

盯住一张画,然后闭上眼睛,回忆画面内容,尽量做到完整,例如画中的人物、衣着、桌椅及各种摆设。回忆后睁开眼睛再看一下原画,如不完整,再重新回忆一遍。这个训练既可培养注意力集中的能力,也可提高更广范围的想象能力。

或者,在地图上寻找一个不太熟悉的城镇,在图上找出各个标记数字与其对应的建筑物,也能提高观察时集中注意力的能力。

阅读全文 »

观察力训练的方法《思维导图大全集》

发表于 2018-06-28 | 分类于 笔记 |

训练1:

选一种静止物,比如一幢楼房、一个池塘或一棵树,对它进行观察。按照观察步骤,对观察物的形、声、色、味进行说明或描述。这种观察可以进行多次,直到自己能抓住主要观察物的特征为止。

训练2:

选一个目标,像电话、收音机、简单机械等,仔细把它看几分钟,然后等上大约一个钟

头,不看原物画一张图。把你的图与原物进行比较,注意画错了的地方,最后不看原物再画一张图,把画错了的地方更正过来。

训练3:

画一张中国地图,标出你所在的那个省的省界,和所在的省会,标完之后,把你标的与地图进行比较,注意有哪些地方搞错了,不过地图在眼前时不要去修正,把错处及如何修正都记在脑子里,然后丢幵地图再画一张。错误越多就越需要重复做这个练习。

在你有把握画出整个中国之后就画整个亚洲,然后画南美洲、欧洲以及其他的洲。要画得多详细由你自己决定。

阅读全文 »

解压文件(选自python绝技)

发表于 2018-06-15 | 分类于 python |

    破解zip文件需要用到python中的zipfile库,实例化ZipFile类,ZipFile类是用来创建和读取zip文件的,调用其extractall()方法。

extractall([path[,member[,path[,pwd]]])

  • path:解压缩的目录
  • member:需要解压缩的文件列表
  • pwd:当zip文件有密码是需要该选项

看下面实例:

>>> import zipfile
>>> zipfile = zipfile.ZipFile(r’D:\pycharm_obj\abc.zip’)
>>> zipfile.extractall(‘1234’)

运行以后显示密码不正确,查看以后发现是一个字符一个字符读取,但我看资料大多都这样写不知道怎么回事,应该是版本有点变化了,我的版本是3.6。

最后附上一个简单的小破解程序,对原书的做了一些小修改。

阅读全文 »

英语连读

发表于 2018-05-13 | 分类于 英语 |

英语句子连读的一些发音《赖世雄-英语音标》

在我们熟悉音标的前提下,在听英美人整句对话的时候,还是听不懂,这里介绍一些句子连读的念法,看下面最好有音标的基础。

字尾辅音+字首元音

短语:

[p] + 元音

up and down          [ʌpənd ˈdaun]
上上下下

keep it up               [kipɪ ˈtʌp]
坚持下去

stop it                      [ˈstɑpɪt]
住手

[t] + 元音

put it on                  [pʊtɪ ˈɑn]
把它穿上

not at all                 [nɑtæ ˈtɔl]
一点也不

put it off                 [pʊtɪ ˈtɔf]
把它延期

阅读全文 »

排序

发表于 2018-03-26 | 分类于 c++ |

c++数组的逆序以及汉字的输出操作

首先是数组的逆序操作.
  • 获取数组的首地址跟末地址
  • 利用中间值依次交换
  • 最后输出逆序以后的数组
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void nixu(int str[],int len)//数组的逆序
{

int *ip = &str[0];
int *ip1 = &str[len-1];
while (ip<ip1)
{
int temp = *ip;
*ip = *ip1;
*ip1 = temp;

ip++;
ip1--;
}
for (int i = 0; i < len; i++)
{
printf("%d\n", str[i]);
}
}
阅读全文 »

栈结构实现

发表于 2018-03-06 | 分类于 c++ |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<stdbool.h>


typedef struct Stack //定义栈模型
{
PNODE TOP;
PNODE BUTTOM;
}*PSTACK,STACK;

/*
栈定义的模型
初始化方法,压入栈的方法,出栈的方法,遍历的方法,
*/
//初始化栈的操作
void init_stack(PSTACK);
//压入栈
void push_stack(PSTACK, int);
//出栈
void pop_stack(PSTACK, int*);
//遍历
void traverse(PSTACK);
//是否为空
bool empty(PSTACK);
//clear;
void clear(PSTACK);
阅读全文 »
123
meimeijun

meimeijun

需求带动科技

25 日志
10 分类
27 标签
RSS
0%