线性回归与逻辑回归

线性回归(boston房价预测)

(1)数据预处理
1
2
3
4
5
6
7
8
9
data = pd.read_csv("data.txt", delim_whitespace=True, names=['CRIM', 'ZN', 'INDUS','CHAS',' NOX','RM','AGE',' DIS',' RAD',' TAX','PTRATIO','B','LSTAT','MEDV'])

for i in range(len(data)):
if((i + 1) % 2 != 1):
data["B"][i - 1] = data["CRIM"][i]
data["LSTAT"][i - 1] = data["ZN"][i]
data["MEDV"][i - 1] = data["INDUS"][i]
data = data.drop([i], axis = 0)
data # 查看数据

Python

一.基础语法

注意:python使用时需要严格缩进,否则在执行是会出现报错

1.注释

1
# 这里是一个注释嗷!

2.打印

1
print ('hello word!')

How to configure the Java Web compilation environment

一.安装JDK(配置环境变量)

配置java环境中已有详细介绍,这里将不做赘述。

传送门链接:

https://xiaotufly.github.io/2020/03/05/How%20to%20configure%20the%20JAVA%20compilation%20environment/

二.安装 elipse Java EE

这里建立在已经装配elipse 的情况下。

1.打开elipse->Help->About Eclipse IDE (查看版本号)

可得到版本号: 2019-12(每个人版本号不同)

How to configure the Java compilation environment

1.下载JDK

官方下载网页:https://www.oracle.com/index.html

进入网页后在框中输入“java”

Merge Sort / Quickly Sort / Shell Sort

这次我们介绍三种排序手写方法:Merge Sort、Quickly Sort 、Shell Sort.

本文排序都使用的字符串组。

Merge Sort

Merge Sort 也称为归并排序,算法如下:

归并排序是将两个已经处理好的上升序列整合在一起成为一个新的上升序列。

算法:将两个序列从左到右依次对比比较,分别设定两个序列的头尾指向,对比此时下标两个序列相对应的数字,小的则放入整合序列中,更新下标,若相等,则任意一个放入整合序列中,若其中一个序列已经放完,则按照顺序将另一个序列全部放入整合序列中。

Binary Tree Calculator

1.基本思路

​ Binary tree calculator也就是使用二叉树实现计算器的功能,相信大家以前都使用栈实现过计算器功的能,使用两个栈分别存数字与字符,一边计算一边“pop”、“push”,或是先将输入的中缀表达式转为后缀表达式,之后运算。而我们的Binary tree calculator则也需要用到栈,先将中缀表达式转为后缀表达式,之后使用指针栈构建Expression tree,再利用二叉树节点之间的关系递推遍历计算即可。

2.中缀表达式转后缀表达式

那么怎么才能将中缀表达式转为后缀表达式呢?我们来看下面一个例子。

a+b*(c-d)/e

上述则为一个中缀表达式,它的后缀表达式如下:

abcd-*e/+

我们利用栈来实现这个过程:

(1)若遇到数字直接输出。

(2)若遇到字符(‘+’、’-‘、’*’、’/‘),对比栈顶元素的优先级,如果比栈顶元素优先级高,则直接入栈,否则将栈中元素不断出栈,直到出现优先级比存入字符低,则将字符入栈。

(3)若字符为’(‘,则直接入栈,若遇到‘)’,则将‘(’前的元素弹出。

(4)若扫描完成后栈中还有元素滞留,则将栈中元素全部弹出。

Double Linked List

1.为什么要用链表

大家在存储多组数据时,会选用数组,但在数组中间删减或是增加数据时,需要将整个数组往前后“平移”。

增加:

1
2
3
4
5
6
7
8
void Add(int value, int index, int size)
{
for(int i = index, i <= size; i++)
{
a[i+1] = a[i];
}
a[index] = value;
}

删减:

1
2
3
4
5
6
7
void Delete(int v, int size)
{
for(int i = index, i <= size; i++)
{
a[i] = a[i+1];
}
}

这样的时间复杂度会很高,也十分麻烦,需要遍历一遍才能完成操作,而链表可以之前在中间插入、删除。

Snake

snake

学年设计的时候做的贪吃蛇,只是简单的做出来基本操作,写的代码从时间和空间上看都不是很优。

这里讲一下大概思路:

一条蛇不停的移动, 玩家将控制蛇的方向,蛇在吃掉食物后,将会重新生成食物,若蛇吃到自己的身体或撞到边框则结束游戏并显示得分。

一个最简贪吃蛇游戏需要3个部分:

1.地图

2.蛇移动

3.食物

HELLO WORLD

1
2
3
4
5
6
7
#include<iostream>
using namespace std;
int main()
{
cout<<"HELLO WORLD";
return 0;
}
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×