串及串的操作

相关定义

串,即字符串,是由零个或多个字符组成的有限数列。一般记为$S=’a_1a_2\dots a_n’$​​ $n\ge0$​

子串:串中任意个连续的字符组成的子序列。

主串:包含子串的串。

字符在主串中的位置:字符在串中的序号。

子串在主串中的位置:子串的第一个字符在主串中的位置。

位序从1开始,而不是从0开始。

注意区分空串与空格串。

串是一种特殊的线性表,数据元素之间呈线性关系。串的数据对象限定为字符集(如中文字符、英文字符、数字字符、标点字符等)。串的基本操作,如增删改查通常以子串为操作对象。

阅读更多

排序算法一:插入排序

关于排序的一些定义

稳定性

对于待排序表中的元素$R_i$和$R_j$,其对应的关键字相等,即$key_i=key_j$,且$R_i$在$R_j$前面。使用某一排序算法后,$R_i$仍然在$R_j$前面,则这个排序算法是稳定的。

举个🌰:对于数组[4,25,2,6,6,8,34,24],经过排序算法一排序后结果为[2,4,6,6,8,24,25,34],经过排序算法二排序后结果为[2,4,6,6,8,24,25,34]。则说明,排序算法一具有稳定性,而排序算法二不具有稳定性。

稳定性不是衡量排序算法优劣的标准,它是排序算法的一个性质。如果待排序表中的关键字不允许重复,则稳定性就无关紧要。

内部排序与外部排序

内部排序指排序期间元素全部放在内存中的排序,外部排序指排序期间无法全部同时存放在内存中,必须在排序过程中根据要求不断的在内、外存之间移动的排序。

排序算法大致可分为插入排序、交换排序、选择排序、归并排序和基数排序五大类。

阅读更多

没有Handoff,Windows和iPhone也能同步剪贴板!

01

如果你是Apple全家桶用户,想必一定已经体验过Handoff的魔力,比如一处复制,多处粘贴。

但是,根据财经M平方数据,Q4FY18(2018年7-9月)的 iPhone 销售量为 4688.9 万支,而 Q4FY18(2018年7-9月) 的 Mac 销售量为 529.9 万台, iPhone 销量远超Mac销量。可以得到结论:更多人使用的是 iPhone + Windows 组合而不是 iPhone + Mac 的组合。

恰巧,本人正是一枚 iPhone + Windows 用户。

那么,当 iPhone 遇上 Windows,怎么尽可能的获得如同 iPhone + Mac 一样的体验?

本文将分享我正使用的剪贴板同步方案。

阅读更多

单层神经网络解决多元线性回归问题

问题背景

之前提到的单层网络解决一元线性回归问题中,出租车的价格仅考虑了一个因素——里程,其他的影响因素都没有考虑。如果考虑实际问题中的多个因素,并对多个因素的影响权重进行预测,这就是多元线性回归问题。

本文将使用波士顿郊区的房价数据训练一个房价预测模型,并评估此模型的预测能力。

数据可以在这里点击下载

在对波士顿房价预测模型进行训练之前,我们先训练一个简单的多元线性回归模型,以熟悉多元线性回归的方法。

在训练完简单的Demo后,再进行波士顿房价的预测模型训练。

阅读更多

单层神经网络解决一元线性回归问题

问题背景

已知在广州,日间出租车费用计算为:三公里内12元。超过三公里的部分2.6元/公里 不考虑候时费、返空费。

分段函数表达如下:

此时,给出x,就能够计算出y,即已知自变量和对应关系,求因变量。

而机器学习,是已知自变量、因变量,从中学习对应规则的问题。因此,假设现在获得一些乘车费用数据,通过一元线性回归方法学习对应法则。

阅读更多

C++ 内置类型

面向对象编程本质是设计并扩展自己的数据类型。创建自己的数组类型之前,需要了解并理解C++的内置类型,因为这些类型是创建自己类型的基本组件。

阅读更多
Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×