2 磨镜台

尚未进行身份认证

牢骚太盛防肠断,风物长宜放眼量。

等级
TA的排名 1w+

JavaScript简介和分类

JavaScript的作用html 定义了网页的内容css 描述了网页的布局javascript 控制网页的行为JS的书写方式行内式<input type="button" value="提示框" "alert('行内式')">嵌入式<head> <meta charset="UTF-8"> <meta name="...

2019-04-21 19:31:30

搭建slurm

文章目录任务要求搭建slurm本地环境配置centos环境配置网卡开机自启,以及DNS关闭防火墙,包括firewalld和selinux配置ssh免密登录克隆机器、配置ip、hostname、hosts配置NFS环境服务端部分客户端部分配置NIS环境NIS服务端环境安装以及添加域名添加用户配置NIS客户端权限初始化NIS数据库以及启动NIS服务NIS客户端环境安装客户端添加NIS域使用authco...

2019-08-30 20:08:24

反转链表

反转链表初始化,前节点为空,当前节点为第一个节点,下一个节点根据当前节点是否为空来进行赋值。改变当前节点的下一个节点的指向为前一个节点。前中后节点依次移动。//链表节点type ListNode struct { next *ListNode data int}/*反转链表://初始化pre为空cur为第一个节点for cur不为空 { next为cur.ne...

2019-08-16 15:09:18

wget

ubuntu 中wget (下载)命令用法Linux wget是一个下载文件的工具,它用在命令行下。对于Linux用户是必不可少的工具,尤其对于网络管理员,经常要下载一些软件或从远程服务器恢复备份到本地服务器1、使用wget下载单个文件以下的例子是从网络下载一个文件并保存在当前目录wget http://cn.wordpress.org/wordpress-3.1-zh_CN.zip在...

2019-08-04 14:37:21

panic

panic异常指的是不应该出现问题的地方出现了问题例如:引用空指针、数组下标越界、除数为零。使用panic抛出异常,抛出异常后将立即停止当前函数的执行并运行所有被defer的函数,然后将panic抛向上一层,直至程序carsh。但是也可以使用被defer的recover函数来捕获异常阻止程序的崩溃,recover只有被defer后才是有意义的。对于异常,我们可以选择在一个合适的上游去rec...

2019-07-28 11:30:02

二分查找go实现

二分查找二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。O(log2n)go实现这里是升序情况递归实现1. 与中间数比较2. 小于则递归中间数左半数组3. 大于于则递归中间数右半数组 加上 length/2 + 14. 返回下标,-1表示没找到//递归法func bin...

2019-07-21 20:56:14

堆排序

堆排序堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。堆排序可以说是一种利用堆的概念来排序的选择排序。分为两种方法:大顶堆:每个节点的值都大于或等于其子节点的值,在堆排序算法中用于升序排列;小顶堆:每个节点的值都小于或等于其子节点的值,在堆排序算法中用于降序排列;...

2019-07-21 19:40:22

快速排序

快速排序算法初始化基准值游标,首尾游标,首游标为第二个元素首游标与基准值比较,大于时尾游标和首游标交换,尾游标向前移动。小于则首游标与基准值交换,首游标和基准值游标向后移动。重复2和3步,直到首游标遇到尾游标(注意有等号)。将基准值左边数组和右边数组递归快排。go实现func quickSort(arr []int) { if len(arr) <= 1 { ret...

2019-07-21 15:25:49

计数排序

计数排序计数排序的核心在于将输入的数据值转化为键存储在额外开辟的数组空间中。作为一种线性时间复杂度的排序,计数排序要求输入的数据必须是有确定范围的整数。场景:10万个数,每个数取值0-999区间内go实现借助slice实现//maxValue 为统计数的最大值func countingSort(arr []int, maxValue int) { bucket := make([...

2019-07-21 11:09:33

希尔排序

希尔排序又称为缩小增量排序。希尔排序没有快速排序算法快 O(n(logn)),因此中等大小规模表现良好,对规模非常大的数据排序不是最优选择。但是比O(n^2 )复杂度的算法快得多。并且希尔排序非常容易实现,算法代码短而简单。 此外,希尔算法在最坏的情况下和平均情况下执行效率相差不是很多,与此同时快速排序在最坏的情况下执行的效率会非常差。算法算法先将要排序的一组数按某个增量d(n/2,n为要...

2019-07-21 10:38:02

直接插入排序

直接插入排序它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。原理像扑克牌抓牌动作一样,牌堆是无序的,手中的牌有序的,从牌堆中抓牌,并将牌根据手牌大小插入到手牌相应的位置。算法将待排序列分成有序数据组和无序数据组取无序数据组第一个元素,与有序数据组的最后一个元素比较有序数组依次向后移动,为待插入数据留出合适位置。数据插入有序数组重复1-...

2019-07-21 09:43:02

选择排序

选择排序选择排序是一种简单直观的排序算法,无论什么数据进去都是 O(n²) 的时间复杂度。所以用到它的时候,数据规模越小越好。外层控制行,比较次数数据元素个数减一内层控制列,从i+1开始,比较次数是len(arr)将第一个元素当做最小数使用该数依次向后比较,找真正的最小数,记录下标当一行比较结束。将index对应值,写到最开始位置。func SelectSort(arr []i...

2019-07-20 23:05:40

冒泡排序算法

冒泡排序算法外层控制行,比较次数数据元素个数减一内层控制列,比较次数数据元素个数减一,减去已经排序好的元素相邻数据比大小满足条件进行交换go实现func BubbleSort(arr []int) []int { //len(arr) - 1是比较的次数,例如2个数只用比较1次 for i := 0; i < len(arr) - 1; i++ { //len(a...

2019-07-20 19:25:21

二叉树

二叉树根:根结点叶子:终端结点,没有后继双亲:直接前驱结点孩子:直接后继结点结点的度:有几个直接后继结点就是几度树的度:所有结点度中的最大值树的深度:所有结点中最大的层数二叉树性质满二叉树每层都充满了结点完全二叉树除最后一层外,每一层节点数都达到最大值,在最后一层只缺少右边的若干结点完全二叉树的顺序存储左子右兄表示法多叉树转换成一个二叉树将同层所有兄弟连成一条线...

2019-07-19 19:58:30

链式栈

链式栈先进后出,FILO(first in last out)入栈出栈都属于增删操作操作方法创建链式栈打印链式栈压栈出栈go实现创建type StackNode struct { Data interface{} Next *StackNode}func CreateStack(Data ...interface{}) *StackNode { if Data =...

2019-07-19 19:47:23

循环链表

环形链表概念是单向链表的特例。将单向链表的尾结点,指向第一个数据结点(不是头结点)循环链表数据结点type LinkNode struct { Data interface{} Next *LinkNode}循环链表的方法1. 创建链表 Create(数据)2. 打印链表 Print()3. 获取结点个数 Length() int4. 插入结点 Insert(...

2019-07-17 20:03:33

双向链表

双向链表结点数据结构type LinkNode struct { Data interface{} Prev *LinkNode Next *LinkNode}双向链表方法:1. 创建链表 Create(数据)2. 打印链表 Print()3. 获取结点个数 Length() int4. 插入结点 Insert(index, 数据)5. 删除结点 De...

2019-07-17 20:00:46

线性表-单向链表

线性表动态数组(切片)、链表、栈、队列都属于线性结构。线性表是零个或者多个数据元素的有限序列,数据元素之间是有顺序的,数据元素个数是有限的,数据元素的类型是相同的。头节点只有一个后继节点,尾节点只有一个前继节点,中间节点既有前继节点又有后续节点。线性表的抽象数据类型定义ADT线性表(List)Data线性表的数据对象集合为{ a1, a2, ……, an },每个元素的类型均为Dat...

2019-07-16 20:10:15

数据结构简介

概念数据结构是计算机存储、组织数据的方式。数据结构是算法的基础。算法是特定问题求解步骤的描述算法的分类分治(分布治理):有明确的目标,明确的执行方式。一般采用 拆分、解决小问题、合并的流程来加以实现。最短路径:有明确的目标,需要找寻有效的执行方式。游戏开发使用较多。贪婪(贪心):没有明确的目标,没有有效的执行方式。需要现场分析,获取目标,找寻执行方式。人工智能领域。算法的特性...

2019-07-16 20:09:38

哈希表原理以及go map原理

哈希表原理其实map是一种HashMap,表面上看它只有键值对结构,实际上在存储键值对的过程中涉及到了数组和链表。HashMap之所以高效,是因为其结合了顺序存储(数组)和链式存储(链表)两种存储结构。数组是HashMap的主干,在数组下有有一个类型为链表的元素。当我们存储一个键值对时,HashMap会首先通过一个哈希函数将key转换为数组下标,真正的key-value是存储在该数组对应的链...

2019-07-16 20:02:03

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。