二分查找算法只能对有序排列数据进行高效查找。
方法定义下标:头l,尾r,中位数mid。
中位数对应元素与参数对比大小,若参数小于mid,则在左侧,将mid-1赋值给r,重定位r下标。
依次执行最终找到数据。
代码实现二分查找namespace AlgorithmTest13_二分查找{ class TestSearch { public static int BinarySearch(int[] arr, int target) { int l = 0; int r = arr.Length - 1; //int mit = (r + 1 )/ 2;中位数 int mit = l + (r - l) / 2;//中位数 while (l <= r) { //如果输入值小于中位数 if (target < ...
集合
集合(set)作为存储数据容器时:
它不允许存储相同元素,只能保留一份。
能快速帮助我们进行去重操作,过滤掉重复元素。
典型应用
词汇量统计
统计一篇英文文章的总单词数,使用集合进行去重,判断英文文章难度。
创建集合接口新建Iset接口
namespace AlgorithmTest11_集合ISet{ interface Iset<T> { /// <summary> /// 判空 /// </summary> bool IsEmpty { get; } /// <summary> /// 元素个数 /// </summary> int Count { get; } /// <summary> /// 添加 /// </summary> /// < ...
软件官网https://wolicheng.com/womic/
点download下载,分别下载app和pc客户端
我是iphone所以直接appstore搜索WO Mic,下载完后直接点start
app会提供ip地址
pc客户端下载后打开连接,输入对应ip地址即可连上。
还可以使用蓝牙、usb等连接方式,移动端调音量好像需要会员,不过目前勉强够用。
队列(Queue)数组实现队列队列相关操作
void Enqueue(T t);//入队
T Dequeue();//出队
T Peek();//查看队首元素
int Count { get; }//查看元素个数
bool IsEmpty { get; }//查看队列是否为空
创建接口创建接口IQueue
namespace AlgorithmTest10_队列Queue{ interface IQueue<T> { void Enqueue(T t);//入队 T Dequeue();//出队 T Peek();//查看队首元素 int Count { get; }//查看元素个数 bool IsEmpty { get; }//查看队列是否为空 }}
实现接口功能新建**Array1Queue类,实现I ...
数组栈、链表栈以及c#系统提供的Stack性能比对代码如下using System;using System.Collections.Generic;using System.Diagnostics;namespace AlgorithmTest09_实现栈Stack{ class Program { public static long TextStack(IStack<int> stack, int N) { Stopwatch t = new Stopwatch(); t.Start(); for (int i = 0; i < N; i++) { stack.Push(i); } for (int i = 0; i < N; i++) { sta ...
转自码农家园:https://www.codenong.com/cs105540904/
「关键字」+「空格」+「减号」+「关键字」
如果你想去掉一些你不想看的搜索结果(例如广告、推广),那么你就可以使用这种搜索方式。
「关键字」+「空格」+「filetype:」+「doc/ppt/pdf等文件格式」
filetype可以用于搜索特定的文件格式,运用这个搜索方法你可以轻松搜索到各种格式的资料文件,搜索引擎是支持这个搜索方法的。
「关键字」+「空格」+「Ifiletype:」+「doc/ppt等文格式」+「空格」+「2017…2019」
如果这样输入,还能找到限定时间里包含关键字的文件资料哦。
「”」+「关键字」+「”」
运用这技巧可以做到关键字全匹配的搜索,简单来说就是搜索出来的结果包含双引号内的所有关键字且顺序也是完全匹配的。
「关键字」+「空格」+「inurl」+「关键字/网址」
这个技巧用于搜索关键字出现在特定网址的页面,关键字可以是中文、英文或者网址。
「快速计算」
这个是搜索引擎的一个小应用,但它却 ...
最近发现墙变厚了,不开飞机放在github的图加载实在慢,于是我去了解了下云存储。
花了45买了五年的阿里云oss,在此记录下。
开通点此:对象存储OSS创建用户:网页右上角
名称随便取,这里要勾上
进行一下验证创建完之后一定要复制这俩key,只有创建时会显示,错过忘了得重新生成
回到用户界面,添加用户权限
搜索oss,确认
回到对象存储控制台,创建bucket地域选附近的,读写权限选公读,其他选项全部默认.
bucket中授权用户进入文件管理
选择子账号,选择读/写,确认
picgo软件配置看提示填就行
配置完成
影响程序运行的总时间主要和两点有关
执行每条语句的耗时
执行每条语句的频率
前者主要取决于计算机性能、编译器、操作系统;
后者主要取决于程序本身和输入。
大O表示法:描述算法的运行时间和数据结构规模的关系O(1) O(n) O(log n) O(n log n) O(n^2)
例子:数组末尾添加,四条语句执行时间,O(1) /// <summary> /// index的位置插入item值 /// </summary> /// <param name="index"></param> /// <param name="item"></param>public void Insert(int index, T item) {//插入 if (index < 0 || index > count)//----------------1 { ...
Csharp
未读js和C#相比。最大不同,在于js是脚本语言,C#是编译性质的语言。
作用域方面js的作用域只有全局作用域和方法作用域,但是可以通过let关键字将作用域限制在块中C#是存在块作用域的,在块中定义的变量,出了这个块就不能使用。
数据类型js和C#一样从抽象层面来说都具有值类型和对象类型js的数字只有浮点型,导致计算数据不准确C#同时具有float, double,int,long等类型js的string类型是值类型,但是C#的string是比较特殊的对象类型(引用类型)js的字符串可以用双引号或单引号,但是C#只可以用双引号js和C#都含有数组对象,null关键字,但是js含有undefined类型,对于未初始化或未声明的变量,值或类型就是undefined
constjs的const可以用来修饰对象,对象的属性值可以改变,但是变量所对应的对象不能更改为其它。C#的const只能修饰值类型
声明与初始化js可以先使用,然后声明,即声明提升C#不声明就不能使用,而且不初始化会赋予默认值。但是js不进行初始化就是undefined
比较符方面js多了两个特殊的比较符===和!==他们两个的特 ...


