Syzq

A blog that you won't read.


  • 首页

  • 分类

  • 归档

  • 标签

  • 关于

  • 搜索

冒泡排序

发表于 2017-08-04 | 分类于 数据结构和算法
冒泡排序冒泡排序(Bubble Sort)是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 算法步骤 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 动图演示 什么时候最快当输入的数据已经是正序时(都已经是正序了,我还要你冒泡排序有何用啊)。 什么时候最慢当输入的数据是反序时(写一个 for 循环反序输出数据不就行了,干嘛要用你冒泡排序呢。) JavaScrip ...
阅读全文 »

快速排序

发表于 2017-08-04 | 分类于 数据结构和算法
快速排序快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要 Ο(nlogn) 次比较。在最坏状况下则需要 Ο(n2) 次比较,但这种状况并不常见。事实上,快速排序通常明显比其他 Ο(nlogn) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。 快速排序使用分治法(Divide and conquer)策略来把一个串行(list)分为两个子串行(sub-lists)。 快速排序又是一种分而治之思想在排序算法上的典型应用。本质上来看,快速排序应该算是在冒泡排序基础上的递归分治法。 算法步骤 从数列中挑出一个元素,称为 “基准”(pivot); 重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准就处于数列的中间位置。这个称为分区(part ...
阅读全文 »

Git学习(四)远程仓库

发表于 2017-08-03 | 分类于 Git学习
添加远程库如果你已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作,真是一举多得。 首先,登陆GitHub,然后,在右上角找到Create a new repo按钮,创建一个新的仓库: 在Repository name填入自己的项目名称,其他保持默认设置,点击Create repository按钮,就成功地创建了一个新的Git仓库: 目前,在GitHub上的这个仓库还是空的,GitHub告诉我们,可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库。 然后根据GitHub的提示,在本地的仓库下运行命令: 1$ git remote add origin git@github.com:Syzq/gitlearn ...
阅读全文 »

一些HTML和CSS面试题

发表于 2017-08-03 | 分类于 前端杂烩
如何清除一个标签的子标签的浮动清除浮动的几种方法: 父元素有高度,此时就没有浮动的影响了 父元素如果不愿意设置固定死的高度,而是自动适配,就写overflow:hidden;_zoom:1; 后面的元素父盒子加上clear:both;盒子还是没有高度,margin失效; 两个盒子之前加上一个<div class="cl"></div> .fl{clear:both},隔墙法,盒子还是没有高度,但是marign有用。 盒子加上::after{content:"",clear:both;} ,内墙法,这个元素自己最后的子元素是一个标准流元素,所以一下子给这个父盒子撑高了。 描述一下浮动会造成什么影响,如何居中一个浮动元素 【脱标】:浮动的元素脱离标准文档流。【贴边】:左浮动就会紧贴父元素左边,右浮动贴右边。【字围】:文字会 ...
阅读全文 »

Git学习(三)工作区和暂存区

发表于 2017-07-31 | 分类于 Git学习
工作区(Working Directory)就是在电脑里能看到的目录。 版本库(Repository)工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。 Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。 前面我们把文件往Git版本库里添加的时候,是分两步执行的: 第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区; 第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。 因为我们创建Git版本库时,Git自动为我们创建了唯一一个master分支,所以,现在,git commit就是往master分支上提交更改。 你可以简单理解为,需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所 ...
阅读全文 »

Git学习(二)版本回退

发表于 2017-07-27 | 分类于 Git学习
git status我们已经成功地添加并提交了一个readme.txt文件,现在,是时候继续工作了,于是,我们继续修改readme.txt文件,随意更改一下里面的内容,然后运行git status命令查看结果: 123456789$ git statusOn branch masterChanges not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: readme.txtno changes added to commit (use "git add" and/or " ...
阅读全文 »

Git学习(一)创建版本库

发表于 2017-07-27 | 分类于 Git学习
Git是什么?Git是目前世界上最先进的分布式版本控制系统(没有之一)。 在Windows上安装Git从https://git-for-windows.github.io下载,然后按默认选项安装即可。 安装完成后,还需要最后一步设置,在命令行输入:12$ git config --global user.name "Your Name"$ git config --global user.email "email@example.com" 创建版本库(git init) 首先,选择一个合适的地方,创建一个空目录: 123$ mkdir learngit //创建文件夹命令$ cd learngit //进入到该文件夹$ pwd //显示当前目录 通过git init命令把这个目录变成Git可以管理的仓库: 1$ git init 然后当前目录下多了一个.gi ...
阅读全文 »

个人简历

发表于 2017-07-12
联系方式 手机:159-3567-7921 Email:`syzq2018@qq.com ` QQ:876603678 个人信息 杨笑盈/男 本科/山西农业大学 工作年限:大四 期望职位:Web前端工程师 技术博客:https://syzq.github.io GitHub: https://github.com/Syzq 职业技能 HTML: 能熟练运用 HTML 进行页面搭建 较好掌握 HTML 标签及其语义化 对 HTML5 新增内容和 API 了然于胸、有Canvas游戏开发经验 CSS: 能较熟练的运用 CSS 属性及 CSS3 的新属性 能较好的还原设计稿 掌握 Bootstrap 框架及其源码实现原理 JavaScript: 有较好的原生 JS 知识功底 注重 JavaScript 性能优化 了解面向对象编程,对 ES6 有粗浅的认知 ...
阅读全文 »

Flex布局:实例篇

发表于 2017-05-07 | 分类于 HTML(5)和CSS(3)
不管是什么布局,Flex往往都可以几行命令搞定。 一、骰子的布局如果不加说明,本节的HTML模板一律如下。 123<div class="box"> <span class="item"></span></div> 上面代码中,div元素(代表骰子的一个面)是Flex容器,span元素(代表一个点)是Flex项目。如果有多个项目,就要添加多个span元素,以此类推。 单项目首先,只有左上角1个点的情况。Flex布局默认就是首行左对齐,所以一行代码就够了。 123.box { display: flex;} 设置项目的对齐方式,就能实现居中对齐和右对齐。 1234.box { display: flex; justify-content: center;} 1234.box { ...
阅读全文 »

Flex布局:语法篇

发表于 2017-05-05 | 分类于 HTML(5)和CSS(3)
布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。 2009年,W3C 提出了一种新的方案—-Flex 布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能。 一、Flex 布局是什么?Flex 是 Flexible Box 的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。 任何一个容器都可以指定为 Flex 布局。 123.box{ display: flex;} 行内元素也可以使用 Flex 布局。 123.box{ display: inline-flex;} Webkit 内核的浏览器,必须加上-webkit前缀。 1234.box{ ...
阅读全文 »
1…5678
思齐

思齐

思与之齐

76 日志
13 分类
40 标签
GitHub 微博 S F 知乎
© 2016 - 2019 思齐
0%