公羽红楼

天道酬勤!


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

堆排序

发表于 2018-01-19 | 分类于 算法
我们通常所说的堆是指二叉堆,二叉堆又称完全二叉树或者叫近似完全二叉树。二叉堆又分为最大堆和最小堆。堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法,它是选择排序的一种。可以利用数组的特点快速定位指定索引的元素。数组可以根据索引直接获取元素,时间复杂度为O(1),也就是常量,因此对 ...
阅读全文 »

快速排序

发表于 2018-01-18 | 分类于 算法
快速排序是在面试中经常问到的算法题,也比较难掌握,特别是没有经常写算法的人儿。 算法思想 用笔者所理解的话来说,其算法思想是利用分而治之的思想,每一趟都保证左边比基准小,右边比基准大,而且递归划分排序。 一趟快速排序的算法是: 1、设置两个变量i、j,排序开始的时候:i=0,j=N-1; 2、以第一 ...
阅读全文 »

插入排序

发表于 2018-01-17 | 分类于 算法
本篇来学习十大排序中的插入排序,学习其算法思想并尝试实现排序。 插入排序有两种:直接插入排序和折半插入排序。 直接插入排序 直接插入排序(4,3,1,2)的流程如下图: image 对于每个未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。其过程大概是这样的: 第一个元素就认为是有序的,取 ...
阅读全文 »

选择排序

发表于 2018-01-16 | 分类于 算法
一起来学习选择排序的算法,今天跟大家一起来学选择排序算法。将会使用C语言、ObjC和Swift分别来实现排序排序,并通过ObjC来举一个模型类选择排序的小例子,希望对大家在开发中应用算法有所帮助。 算法思想 选择排序的思想其实和冒泡排序有点类似,都是在一次排序后把最小的元素放到最前面。但是过程不同, ...
阅读全文 »

冒泡排序

发表于 2018-01-15 | 分类于 算法
本篇一起来学习冒泡排序的算法,今天跟大家一起来学冒泡排序算法。本篇将会使用C语言、ObjC和Swift分别来实现冒泡排序,并通过ObjC来举一个模型类冒泡排序的小例子,希望对大家在开发中应用算法有所帮助。 核心思想算法最讲究的就是算法的思想,只要将算法思想想明白了,就可以通过伪代码来写出算法, ...
阅读全文 »

Mavlink - 无人机通讯协议

发表于 2018-01-11 | 分类于 Mavlink
http://qgroundcontrol.org/mavlink/start mavlink协议介绍 https://pixhawk.ethz.ch/mavlink/ 消息简介 MAVLink简介 Mavlink协议最早由 苏黎世联邦理工学院 计算机视觉与几何实验组 的 Lorenz Meier于 ...
阅读全文 »

Bitbucket - 用git 用法

发表于 2018-01-03 | 分类于 Git
核心流程: 从远端中心repo那里 Git clone 到本地,再在本地开发(add, commit), 通常会利用branch管理,如果觉得code 没问题了,就push到远端的中心repo上。这里中心的repo 就是 bitbucket上的repo。 git 之后 不需要 减号- git ...
阅读全文 »

Git - 生成ssh key步骤以及如何clone所有的远程分支

发表于 2018-01-02 | 分类于 Git
这里以配置github的ssh key为例: 1. 配置** git 用 户 名和 邮 **箱设置Git的user name和email: $ git config –global user.name "用户名" $ git config –global user.email ...
阅读全文 »

Git - 使用指南

发表于 2018-01-01 | 分类于 Git
GIT (分布式版本控制系统)Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。[1] Git的读音为/gɪt/。 Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。[2] Git 是 Linus Torvalds 为了帮助管 ...
阅读全文 »
12
Franks Weng

Franks Weng

擅长iOS,Swift,Python技能,深入研究移动端开发与前后端性能。

19 日志
9 分类
16 标签
RSS
Blogs GitHub E-Mail
© 2018 Franks Weng
0%