其它
zp1996323
web开发养成中
展开
-
排序—基数排序(js实现)
基数排序:基数排序只是针对于数字,思想就是将我们需要待排列的元素按照指定的进制将每一位排列,时间复杂度为:P(N+B)P(N + B),注:其中PP为待排列数字的最大位数,NN为待排序列的长度,BB为进制数 首先我们来看利用LSD(次位优先)进行基数排序 我们首先用图片描述一下这种方式 (图片出自于网易云课堂)// 获得每位的数字function RadixLSDSort (arr, d原创 2016-01-21 22:29:33 · 2339 阅读 · 1 评论 -
数据结构—利用单链表操作城市信息
效果截图: 这个用了一些简单的窗体应用和我自己编写的单链表来完成。 首先我创建了城市信息的类用以保存城市的信息public class CityData{ public int X; public int Y; public string name; public CityData(int x, int y, string name) {原创 2015-11-08 22:20:40 · 2757 阅读 · 2 评论 -
C#中Split的用法
1.用字符创进行分割 使用字符串进行分割需要借助C#的正则表达式,也就是需要使用Regex类。注意我们在使用Regex类时,需要在头文件上加上using System.Text.RegularExpressions;string str = "aaajsbbbjsccc";string[] arr = Regex.Split(str, "js");foreach (string i in ar原创 2015-11-15 21:22:50 · 2383 阅读 · 0 评论 -
C#(链栈)实现火车重排问题
实现链栈的重排: 我创建了一个TrainRoad的类,这个类就是用来进行重排操作的类,这个类主要有三个函数,1重排函数,2是进入缓冲轨道函数,3是出缓冲轨道函数,下面我们来看代码的实现:class TrainRoad{ private IStack<int>[] _allRoad; private int _nextOut = 1; private int _Unique原创 2015-11-22 02:35:44 · 670 阅读 · 0 评论 -
git基础
git与svn都是一种版本控制工具,他们有非常多的不同点: 1. git是分布式的版本控制,而svn是集中式的版本控制,这点也就是说,我们在多人开发时,利用svn的话,我们每个人都会讲我们的代码提交到总的仓库中,而利用git每个人提交到的是自己对应的仓库 2. svn是进行差异比较,也就是说关注文件内容的改变,而git是直接记录文件快照在git中文件只有3种状态: 已修改:已经修改了文件,但是原创 2015-12-28 13:08:24 · 331 阅读 · 0 评论 -
排序—选择排序(js实现)
选择排序直接选择排序,每趟在n-i个记录中选取最小的作为序列的第i个元素,时间复杂度为:n2n^2function StraightSelectSort (arr) { var i, j, len = arr.length; for (i = 0; i < len - 1; i++) { var k = i; var current = arr[k];原创 2016-01-07 20:50:28 · 1100 阅读 · 0 评论 -
排序—直接排序(js实现)
直接排序,将一个记录插入到一个已经排好序的有序表中,从而得到一个新的有序表,时间复杂度为:n2n^2function StraightInsertSort (arr) { var i, j, current, len; for (i = 1, len = arr.length; i < len; i++) { j = i - 1; current =原创 2016-01-12 22:08:17 · 523 阅读 · 0 评论 -
排序—交换排序(js实现)
冒泡排序:每次对比相邻的两个元素,将较为小的元素交换到前面,就这样冒泡,小的元素逐一向上,时间复杂度为:n2n^2function BubbleExchangeSort (arr) { var i, j, temp, len = arr.length; for (i = 0; i < len - 1; i++) { for (j = len - 1; j > i; j原创 2016-01-15 20:19:41 · 709 阅读 · 0 评论 -
排序—归并排序(js实现)
归并排序: 将序列首先进行分解,分解到每组只有一个元素,然后对这相邻两组进行合并,知道合并为一整个序列,时间复杂度:nlog2nn\log_2n,整个思路类似于Shell排序。 再看归并排序之前我们首先看一下将两个有序的序列合并为一个序列:function MergeTwiceSort (arr1, arr2) { var len1 = arr1.length, len2原创 2016-01-19 02:41:38 · 974 阅读 · 0 评论 -
按位取反的一些问题
最近,一直在被~这个运算符困惑,所以今天认真搞了一稿其原理性的东西,也让我觉得是应该好好学习计算机的基础知识啊。 了解按位取反之前我们需要了解一下将十进制的负数转化为二进制,在了解这个之前我们又需要了解一下原码、反码、补码。原码:二进制的定点数,最高位为符号位,0是正数,1是负数,其优点是很直观的反应出来二进制数,假如2的二进制数是0…0010,-2的二进制数是1…0010,但是真如这样这样的运算原创 2015-10-20 02:58:49 · 2329 阅读 · 0 评论