北上广深房屋租赁数据分析

房屋租赁信息

  • 北上广深房屋租赁数据分析
    • 一、数据预处理
    • 二、描述性统计
      • 2.1 区级租金箱线图
      • 2.2 租金分布情况
      • 2.3 北京各行政区租金分布
      • 2.4 各城市租金分布对比图
      • 2.5 北京各行政区租金分布之间对比(豆荚图)
      • 2.6 整租房屋中,不同卧室数量租金分布情况对比
      • 2.7 不同城市各数据矩阵散点图
    • 三、数据探索
      • 3.1面积和租金价格分布图
      • 3.2 地铁距离和租金价格分布图
      • 3.3 经纬度信息挖掘

北上广深房屋租赁数据分析

北上广深四个一线城市,哪个城市的租房更加友好呢?城市各区域的租金是怎么分布的?离地铁口远近、房子大小、是否公寓房、精装简装、集中供暖等,租房时应该优先考虑哪些因素呢?

同时如何对带地理经纬度等信息进行可视化呢?

所以本项目获取了链家网北上广深四个城市的各三千条租房数据数据共有12000条进行实践探索

一、数据预处理

#设置工作路径
setwd("D:/LengPY")
#导入数据
data<- read.csv("housedata.csv",,encoding='UTF-8')
head(data)
A data.frame: 6 × 20
X_idbathroom_numbedroom_numbizcircle_namecitydistdistanceframe_orientationhall_numhouse_taghouse_titlelatitudelayoutlongitudem_urlrent_arearent_price_listingrent_price_unitresblock_nametype
<chr><int><int><chr><chr><chr><int><chr><int><chr><chr><dbl><chr><dbl><chr><chr><chr><chr><chr><chr>
15c714363397be4c5251a3ded23上地 北京海淀 NA南 北2精装 集中供暖 双卫生间 整租 · 上地西里二层三居 自住出租 随时入住采光好 无遮挡40.039003室2厅2卫116.3178https://m.lianjia.com/chuzu/bj/zufang/BJ2135934725586690048.html13715000元/月上地西里 整租
25c7148e6397be4c5251a583d12北大地 北京丰台 NA南 北1集中供暖 整租 · 丰台北大地电报局街家具家电齐全南北向两居 39.856662室1厅1卫116.2923https://m.lianjia.com/chuzu/bj/zufang/BJ2101229402263126016.html57 4500 元/月电报局街 整租
35c71321e397be4c5251a0b4611燕莎 北京朝阳 7881近地铁 精装 集中供暖 整租 · 远洋新干线 1室1厅 10500元 39.963231室1厅1卫116.4661https://m.lianjia.com/chuzu/bj/zufang/BJ2163171108206428160.html56 10500元/月远洋新干线 整租
45c712721397be4c52519fc0911阜成门 北京西城 8861近地铁 集中供暖 随时看房南露园 1室1厅 5600元 39.930661室1厅1卫116.3485https://m.lianjia.com/chuzu/bj/zufang/BJ2173622775712063488.html43 5600 元/月南露园 整租
55c7123bd397be4c52519f7af12和平里 北京朝阳 779东 南1近地铁 集中供暖 和平里东街15号院 2室1厅 6300元 39.957082室1厅1卫116.4314https://m.lianjia.com/chuzu/bj/zufang/BJ2158698783390056448.html56 6300 元/月和平里东街15号院整租
65c72ae43397be4c5251e2d7e12奥林匹克公园北京朝阳1139南 北2精装 随时看房 整租 · 澳林春天四期 南北通透精装两居室 距奥森一路之隔 40.018262室2厅1卫116.3807https://m.lianjia.com/chuzu/bj/zufang/BJ2158677644206948352.html11112000元/月澳林春天四期 整租
#修改编号
data$X_id<-c(1:12000)
#修改数据类型
data$rent_area<-as.numeric(data$rent_area)
data$distance<-as.numeric(data$distance)
data$rent_price_listing<-as.numeric(data$rent_price_listing)
Warning message in eval(expr, envir, enclos):
"强制改变过程中产生了NA"
Warning message in eval(expr, envir, enclos):
"强制改变过程中产生了NA"
head(data)
A data.frame: 6 × 20
X_idbathroom_numbedroom_numbizcircle_namecitydistdistanceframe_orientationhall_numhouse_taghouse_titlelatitudelayoutlongitudem_urlrent_arearent_price_listingrent_price_unitresblock_nametype
<int><int><int><chr><chr><chr><dbl><chr><int><chr><chr><dbl><chr><dbl><chr><dbl><dbl><chr><chr><chr>
1123上地 北京海淀 NA南 北2精装 集中供暖 双卫生间 整租 · 上地西里二层三居 自住出租 随时入住采光好 无遮挡40.039003室2厅2卫116.3178https://m.lianjia.com/chuzu/bj/zufang/BJ2135934725586690048.html13715000元/月上地西里 整租
2212北大地 北京丰台 NA南 北1集中供暖 整租 · 丰台北大地电报局街家具家电齐全南北向两居 39.856662室1厅1卫116.2923https://m.lianjia.com/chuzu/bj/zufang/BJ2101229402263126016.html 57 4500元/月电报局街 整租
3311燕莎 北京朝阳 7881近地铁 精装 集中供暖 整租 · 远洋新干线 1室1厅 10500元 39.963231室1厅1卫116.4661https://m.lianjia.com/chuzu/bj/zufang/BJ2163171108206428160.html 5610500元/月远洋新干线 整租
4411阜成门 北京西城 8861近地铁 集中供暖 随时看房南露园 1室1厅 5600元 39.930661室1厅1卫116.3485https://m.lianjia.com/chuzu/bj/zufang/BJ2173622775712063488.html 43 5600元/月南露园 整租
5512和平里 北京朝阳 779东 南1近地铁 集中供暖 和平里东街15号院 2室1厅 6300元 39.957082室1厅1卫116.4314https://m.lianjia.com/chuzu/bj/zufang/BJ2158698783390056448.html 56 6300元/月和平里东街15号院整租
6612奥林匹克公园北京朝阳1139南 北2精装 随时看房 整租 · 澳林春天四期 南北通透精装两居室 距奥森一路之隔 40.018262室2厅1卫116.3807https://m.lianjia.com/chuzu/bj/zufang/BJ2158677644206948352.html11112000元/月澳林春天四期 整租
## 可视化查看数据是否有缺失值
library(VIM)
aggr(data)

在这里插入图片描述

可知与地铁站距离distance缺失值较多,主要由于部分地区没有相邻地铁站,故缺失,可标注为无地铁。

同时经纬度有少量的缺失,占比极小,对分析结果基本无影响,可利用统计方法进行填补。填补经纬度,用数据前后的数据填补
其余缺失值均采用均值填充。

colnames(data)
  1. 'X_id'
  2. 'bathroom_num'
  3. 'bedroom_num'
  4. 'bizcircle_name'
  5. 'city'
  6. 'dist'
  7. 'distance'
  8. 'frame_orientation'
  9. 'hall_num'
  10. 'house_tag'
  11. 'house_title'
  12. 'latitude'
  13. 'layout'
  14. 'longitude'
  15. 'm_url'
  16. 'rent_area'
  17. 'rent_price_listing'
  18. 'rent_price_unit'
  19. 'resblock_name'
  20. 'type'
#填补地铁距离
data$distance[is.na(data$distance)] <-c(10000)
#填补经纬度,用数据前后的数据填补
library(zoo)
data$latitude <- na.locf(data$latitude)
data$longitude <- na.locf(data$longitude)
data$rent_area[is.na(data$rent_area)] <- mean(data$rent_area,na.rm = TRUE)
data$rent_price_listing[is.na(data$rent_price_listing)]<- mean(data$rent_price_listing,na.rm = TRUE)
## 可视化查看数据是否有缺失值
library(VIM)
aggr(data)

在这里插入图片描述

此时可知,数据填补完成,数据完整,可进一步描述分析

二、描述性统计

#查看城市数量
table(data$city)
北京 广州 上海 深圳 
3000 3000 3000 3000 
#区级分析
table(data$dist)
      白云     宝安区       宝山       昌平       朝阳       崇明       从化 
       681        588        167        171       1049          1         21 
  大鹏新区       大兴       东城       番禺       房山       丰台       奉贤 
         2        221         64        555        111        319         57 
    福田区     光明区       海淀       海珠       虹口       黄浦       嘉定 
       491         69        330        279         78        111        189 
      金山       静安       荔湾     龙岗区     龙华区     罗湖区     门头沟 
         4         91        221        596        373        238         91 
      闵行       南沙     南山区     坪山区       浦东       普陀       青浦 
       287         52        608          9        794        192        173 
    石景山       顺义       松江       天河       通州       西城       徐汇 
        61        107        263        556        219        201        215 
    盐田区       杨浦 亦庄开发区       越秀       增城       闸北       长宁 
        26        108         56        266        369         90        180 

2.1 区级租金箱线图

#区级箱线图
library(ggthemes)

g <- ggplot(data, aes(dist, rent_price_listing))

g + geom_boxplot(aes(fill=factor(dist))) +

theme(axis.text.x = element_text(angle=65, vjust=0.6)) +

labs(title="Box plot",

subtitle="City rent_price_listing",

caption="Source: mpg",

x="Class of Vehicle",

y="City Mileage")
Warning message:
"package 'ggthemes' was built under R version 4.0.4"

在这里插入图片描述

PS:可以用各区的平均值来做聚类分析,区分高低租金的行政区

#租房类型分布
table(data$type)
 合租  整租 
  414 11586 

2.2 租金分布情况

#所有租金分布
hist(data$rent_price_listing, prob = TRUE, col = "red",main="Normal Distribution") 

在这里插入图片描述

#简单对数据集进行拆分
bjhouse<-data[which(data$city=='北京'),]
shhouse<-data[which(data$city=='上海'),]
szhouse<-data[which(data$city=='深圳'),]
gzhouse<-data[which(data$city=='广州'),]
#北京租金分布
hist(bjhouse$rent_price_listing, prob = TRUE, col = "red",main="Normal Distribution") 

在这里插入图片描述

#深圳租金分布
hist(szhouse$rent_price_listing, prob = TRUE, col = "red",main="Normal Distribution") 

在这里插入图片描述

2.3 北京各行政区租金分布

library(reshape2)
library(ggplot2)
library(ggridges)
library(RColorBrewer)
colormap <- colorRampPalette(rev(brewer.pal(11,'Spectral')))(32)
dt<-bjhouse[,c(6,17)]
colnames(dt)<-c("主题","风险")
splitdata<-split(dt,dt$主题)
xmax<-max(dt$`风险`)*1.1
xmin<-min(dt$`风险`)*1.1


N<-length(splitdata)
labels_y<-names(splitdata)

mydata<-data.frame(x=numeric(),y=numeric(),variable=numeric()) #?????յ?Data.Frame

for (i in 1:N){
  tempy<-density(splitdata[[i]][2]$`风险`,bw = 3.37,from=xmin, to=xmax)
  newdata<-data.frame(x=tempy$x,y=tempy$y)
  newdata$variable<-i
  mydata<-rbind(mydata,newdata)
}

Step<-max(mydata$y)*0.6
mydata$offest<--as.numeric(mydata$variable)*Step
mydata$V1_density_offest<-mydata$y+mydata$offest

p<-ggplot()
for (i in 1:N){
  p<-p+ geom_linerange(data=mydata[mydata$variable==i,],aes(x=x,ymin=offest,ymax=V1_density_offest,group=variable,color=y),size =1, alpha =1) +
        geom_line(data=mydata[mydata$variable==i,],aes(x=x, y=V1_density_offest),color="black",size=0.5)
}

p+scale_color_gradientn(colours=colormap,name="Density")+
  scale_y_continuous(breaks=seq(-Step,-Step*N,-Step),labels=labels_y)+
  xlab("租金")+
  ylab("行政区")+
  theme_classic()+
  theme(
    panel.background=element_rect(fill="white",colour=NA),
    panel.grid.major.x = element_line(colour = "grey80",size=.25),
    panel.grid.major.y = element_line(colour = "grey60",size=.25),
    axis.line = element_blank(),
    text=element_text(size=15,colour = "black"),
    plot.title=element_text(size=15,hjust=.3),
    legend.position="right"
  )

在这里插入图片描述

2.4 各城市租金分布对比图

data$rent_price_listing<-as.numeric(data$rent_price_listing)
#不同城市租金分布之间对比
library(beanplot)
par(mai=c(0.5,0.5,0.25,1.2))
beanplot(rent_price_listing~city, data,col = list("#FF6B5E", "#00C3C2"),
         side = "both",xlab ="city",ylab ="value")
log="y" selected

在这里插入图片描述

2.5 北京各行政区租金分布之间对比(豆荚图)

#北京租金分布之间对比
library(beanplot)
par(mai=c(0.5,0.5,0.25,1.2))
beanplot(rent_price_listing~dist, bjhouse,col = list("red", "#00C3C2"),
         side = "both",xlab ="city",ylab ="value")
log="y" selected

在这里插入图片描述

2.6 整租房屋中,不同卧室数量租金分布情况对比

zzdata<-data[which(data$type=='整租'),]
#房型分布之间对比
library(beanplot)
par(mai=c(0.5,0.5,0.25,1.2))
beanplot(rent_price_listing~bedroom_num, zzdata,col = list("red", "#00C3C2"),
         side = "both",xlab ="city",ylab ="value")
log="y" selected

在这里插入图片描述

2.7 不同城市各数据矩阵散点图

# 矩阵散点图
library(ggplot2)
library(GGally)
ggdata<-data[,c(2,3,7,16,17,5)]
ggscatmat(data =ggdata,columns = 1:5,color = "city",alpha = 0.8)+
  theme_bw(base_family = "STKaiti",base_size = 10)+
  theme(plot.title = element_text(hjust = 0.5))+
  ggtitle("矩阵散点图")

在这里插入图片描述

三、数据探索

3.1面积和租金价格分布图

##面积和租金价格分布图
library(ggplot2)
library(RColorBrewer)
library(ggpubr)
ggscatterhist(
  zzdata, x ='rent_area', y = 'rent_price_listing', shape=21,fill="#00AFBB",color = "black",size = 3, alpha = 1,
  #palette = c("#00AFBB", "#E7B800", "#FC4E07"),
  margin.params = list( fill="#00AFBB",color = "black", size = 0.2,alpha=1),
  margin.plot =  "histogram",
  legend = c(0.8,0.8),
  ggtheme = theme_minimal())

在这里插入图片描述

可发现,房屋面积与房租之间存在一定线性关系

3.2 地铁距离和租金价格分布图

##地铁价格和租金价格分布图
bj<-bjhouse[which(bjhouse$distance!=10000),]
bj<-bj[which(bj$type=='整租'),]
library(ggplot2)
library(RColorBrewer)
library(ggpubr)
ggscatterhist(
  bj, x ='distance', y = 'rent_price_listing', shape=21,fill="#00AFBB",color = "black",size = 3, alpha = 1,
  #palette = c("#00AFBB", "#E7B800", "#FC4E07"),
  margin.params = list( fill="#00AFBB",color = "black", size = 0.2,alpha=1),
  margin.plot =  "histogram",
  legend = c(0.8,0.8),
  ggtheme = theme_minimal())

在这里插入图片描述


g <- ggplot(bj, aes(distance, rent_price_listing)) +

geom_count() +

geom_smooth(method="lm", se=F,color='red')

ggMarginal(g, type = "histogram", fill="blue")

ggMarginal(g, type = "boxplot", fill="transparent")
 ggMarginal(g, type = "density", fill="transparent")
`geom_smooth()` using formula 'y ~ x'

`geom_smooth()` using formula 'y ~ x'

`geom_smooth()` using formula 'y ~ x'

`geom_smooth()` using formula 'y ~ x'

`geom_smooth()` using formula 'y ~ x'

`geom_smooth()` using formula 'y ~ x'

在这里插入图片描述

可发现有一定的线性关系,且离地铁越远,房租相应下降,但由于样本中,要么无地铁信息,要么都是附近有地铁的楼盘,而一定距离范围内,距离影响并不显著,故线性相关系数较低,若能获得缺失地铁信息的楼盘与地铁站的距离,结果应当会有更大发现。

3.3 经纬度信息挖掘

bjzz<-bjhouse[which(bjhouse$type=='整租'),]
library(dplyr)
bjzz<-arrange(bjzz,desc(bjzz$rent_price_listing))
#剔除一个极端大值
bjzz<-bjzz[-1,]
head(bjzz)
A data.frame: 6 × 20
X_idbathroom_numbedroom_numbizcircle_namecitydistdistanceframe_orientationhall_numhouse_taghouse_titlelatitudelayoutlongitudem_urlrent_arearent_price_listingrent_price_unitresblock_nametype
<int><int><int><chr><chr><chr><dbl><chr><int><chr><chr><dbl><chr><dbl><chr><dbl><dbl><chr><chr><chr>
2202124CBD 北京朝阳 3721近地铁 集中供暖 随时看房阳光100 4室1厅 99450元 39.918394室1厅2卫116.4815https://m.lianjia.com/chuzu/bj/zufang/BJ2169359626858921984.html24399450元/月阳光100 整租
3 58024方庄 北京朝阳 21南 北 2近地铁 双卫生间 随时看房整租 · 时代芳群一层复式,临街带花园。 跃层 39.871014室2厅2卫116.4300https://m.lianjia.com/chuzu/bj/zufang/BJ2045376803442532352.html26195000元/月时代芳群 整租
4198666中央别墅区北京朝阳10000东 南 北 2精装 整租 · 卓锦万代精装6居室,房子状况新,诚意出租 40.031536室2厅6卫116.5389https://m.lianjia.com/chuzu/bj/zufang/BJ2024422078433992704.html31290000元/月卓锦万代 整租
5 14713苏州桥 北京海淀 553南 北 1近地铁 集中供暖 整租 · 海淀区可随时使用的中关村SOHO 39.989454房间1卫 116.3167https://m.lianjia.com/chuzu/bj/zufang/BJ2059876706667200512.html22382500元/月中关村SOHO 整租
6 51526方庄 北京朝阳 21南 北 2近地铁 双卫生间 整租 · 时代芳群 6室2厅 80000元 39.871016室2厅2卫116.4300https://m.lianjia.com/chuzu/bj/zufang/BJ2095502709607104512.html32880000元/月时代芳群 整租
7 43133建国门外 北京朝阳 660东 南 西 北1近地铁 精装 集中供暖 整租 · 嘉华世纪 南北通透两层复式带空中花园 精装修39.911553室1厅3卫116.4470https://m.lianjia.com/chuzu/bj/zufang/BJ1967782834081112064.html21479000元/月嘉华世纪公寓整租
#上海可视化
ggplot(shhouse, aes(x = latitude, y = longitude, fill=rent_price_listing)) +
  geom_point(shape=21,size=4,colour="black",alpha=0.95) +
  scale_fill_distiller(palette="RdYlBu")+
  theme(
    text=element_text(size=15,color="black"),
    plot.title=element_text(size=15,family="myfont",face="bold.italic",hjust=.5,color="black"),
    legend.background = element_blank(),
    legend.position=c(0.85,0.2)
  )

在这里插入图片描述

summary(bjzz$rent_price_listing)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
    900    4800    6500    8948    9500   99450 
# 给用户打上类型标签
bjzz$pricetype<- "4800元以下"
bjzz[bjzz$rent_price_listing>=4800 & bjzz$rent_price_listing<6500,'pricetype'] <- "4800-6500元"
bjzz[bjzz$rent_price_listing>=6500 & bjzz$rent_price_listing<9500 ,'pricetype'] <- "6500-9500元"
bjzz[bjzz$rent_price_listing>=9500 & bjzz$rent_price_listing<=99450,'pricetype'] <- "大于9500元"
head(bjzz)
A data.frame: 6 × 21
X_idbathroom_numbedroom_numbizcircle_namecitydistdistanceframe_orientationhall_numhouse_tag...latitudelayoutlongitudem_urlrent_arearent_price_listingrent_price_unitresblock_nametypepricetype
<int><int><int><chr><chr><chr><dbl><chr><int><chr>...<dbl><chr><dbl><chr><dbl><dbl><chr><chr><chr><chr>
2202124CBD 北京朝阳 3721近地铁 集中供暖 随时看房...39.918394室1厅2卫116.4815https://m.lianjia.com/chuzu/bj/zufang/BJ2169359626858921984.html24399450元/月阳光100 整租大于9500元
3 58024方庄 北京朝阳 21南 北 2近地铁 双卫生间 随时看房...39.871014室2厅2卫116.4300https://m.lianjia.com/chuzu/bj/zufang/BJ2045376803442532352.html26195000元/月时代芳群 整租大于9500元
4198666中央别墅区北京朝阳10000东 南 北 2精装 ...40.031536室2厅6卫116.5389https://m.lianjia.com/chuzu/bj/zufang/BJ2024422078433992704.html31290000元/月卓锦万代 整租大于9500元
5 14713苏州桥 北京海淀 553南 北 1近地铁 集中供暖 ...39.989454房间1卫 116.3167https://m.lianjia.com/chuzu/bj/zufang/BJ2059876706667200512.html22382500元/月中关村SOHO 整租大于9500元
6 51526方庄 北京朝阳 21南 北 2近地铁 双卫生间 ...39.871016室2厅2卫116.4300https://m.lianjia.com/chuzu/bj/zufang/BJ2095502709607104512.html32880000元/月时代芳群 整租大于9500元
7 43133建国门外 北京朝阳 660东 南 西 北1近地铁 精装 集中供暖 ...39.911553室1厅3卫116.4470https://m.lianjia.com/chuzu/bj/zufang/BJ1967782834081112064.html21479000元/月嘉华世纪公寓整租大于9500元
#北京房源分布图
library(ggplot2)
library(RColorBrewer)
library(ggpubr)
ggscatterhist(
  bjzz, x ='latitude', y = 'longitude',  #iris
  shape=21,color ="black",fill= "pricetype", size =4, alpha = 0.8,
  palette = c("#00AFBB", "#E7B800", "#FC4E07","pink"),
  margin.plot =  "density",
  margin.params = list(fill = "pricetype", color = "black", size = 0.2),
  legend = c(0.9,0.15),
  ggtheme = theme_minimal())

在这里插入图片描述

由图可知,高租金房源多集中在中心位置,因为地段繁华,寸土寸金,且写字楼林立,供不应求,故租金高昂,符合常理,而外围分布散乱,离市中心较远,交通不变,故符合实情。

#北京房源分布图
library(ggplot2)
library(RColorBrewer)
library(ggpubr)
ggscatterhist(
  bjzz, x ='latitude', y = 'longitude', shape=21,fill="#00AFBB",color = "black",size = 3, alpha = 1,
  #palette = c("#00AFBB", "#E7B800", "#FC4E07"),
  margin.params = list( fill="#00AFBB",color = "black", size = 0.2,alpha=1),
  margin.plot =  "histogram",
  legend = c(0.8,0.8),
  ggtheme = theme_minimal())

在这里插入图片描述

由经纬度信息,还原房源位置分布情况,由于正中心属于故宫天安门等区域,不存在在租房源,故除中心外,是向外扩散趋势,符合常理。可考虑结合颜色信息,对租金大小进行可视化。

# 给用户打上类型标签
shhouse$pricetype<- "4800元以下"
shhouse[shhouse$rent_price_listing>=4800 & shhouse$rent_price_listing<6500,'pricetype'] <- "4800-6500元"
shhouse[shhouse$rent_price_listing>=6500 & shhouse$rent_price_listing<9500 ,'pricetype'] <- "6500-9500元"
shhouse[shhouse$rent_price_listing>=9500 & shhouse$rent_price_listing<=99450,'pricetype'] <- "大于9500元"
head(shhouse)

##上海分布图
library(ggplot2)
library(RColorBrewer)
library(ggpubr)

ggscatterhist(
 shhouse, x ='latitude', y = 'longitude',  #iris
  shape=21,color ="black",fill= "pricetype", size =4, alpha = 0.8,
  palette = c("#00AFBB", "#E7B800", "#FC4E07","pink"),
  margin.plot =  "density",
  margin.params = list(fill = "pricetype", color = "black", size = 0.2),
  legend = c(0.9,0.15),
  ggtheme = theme_minimal())

在这里插入图片描述

同理

同时也可结合GeoQ地图可视化平台,简单快捷地进行可视化。
在这里插入图片描述
或者
在这里插入图片描述
可结合道路分布,沿海情况等信息进行分析。
也可尝试结合R shiny包应用,建立交互地图可视化工具。可参考另一篇文章《2017年国赛拍照赚钱问题地图可视化APP(shiny)》
《2017年国赛拍照赚钱问题地图可视化APP(shiny)》

也可尝试使用机器学习算法建立租金预测模型,参考文章:《利用机器学习方法对猪肉价格预测》
《利用机器学习方法对猪肉价格预测》

热门文章

暂无图片
编程学习 ·

C语言二分查找详解

二分查找是一种知名度很高的查找算法&#xff0c;在对有序数列进行查找时效率远高于传统的顺序查找。 下面这张动图对比了二者的效率差距。 二分查找的基本思想就是通过把目标数和当前数列的中间数进行比较&#xff0c;从而确定目标数是在中间数的左边还是右边&#xff0c;将查…
暂无图片
编程学习 ·

GMX 命令分类列表

建模和计算操作命令&#xff1a; 1.1 . 创建拓扑与坐标文件 gmx editconf - 编辑模拟盒子以及写入子组(subgroups) gmx protonate - 结构质子化 gmx x2top - 根据坐标生成原始拓扑文件 gmx solvate - 体系溶剂化 gmx insert-molecules - 将分子插入已有空位 gmx genconf - 增加…
暂无图片
编程学习 ·

一文高效回顾研究生课程《数值分析》重点

数值分析这门课的本质就是用离散的已知点去估计整体&#xff0c;就是由黑盒子产生的结果去估计这个黑盒子。在数学里这个黑盒子就是一个函数嘛&#xff0c;这门课会介绍许多方法去利用离散点最大化地逼近这个函数&#xff0c;甚至它的导数、积分&#xff0c;甚至微分方程的解。…
暂无图片
编程学习 ·

在职阿里5年,一个28岁女软测工程师的心声

简单的先说一下&#xff0c;坐标杭州&#xff0c;14届本科毕业&#xff0c;算上年前在阿里巴巴的面试&#xff0c;一共有面试了有6家公司&#xff08;因为不想请假&#xff0c;因此只是每个晚上去其他公司面试&#xff0c;所以面试的公司比较少&#xff09; ​ 编辑切换为居中…
暂无图片
编程学习 ·

字符串左旋c语言

目录 题目&#xff1a; 解题思路&#xff1a; 第一步&#xff1a; 第二步&#xff1a; 第三步&#xff1a; 总代码&#xff1a; 题目&#xff1a; 实现一个函数&#xff0c;可以左旋字符串中的k个字符。 例如&#xff1a; ABCD左旋一个字符得到BCDA ABCD左旋两个字符…
暂无图片
编程学习 ·

设计模式--观察者模式笔记

模式的定义与特点 观察者&#xff08;Observer&#xff09;模式的定义&#xff1a;指多个对象间存在一对多的依赖关系&#xff0c;当一个对象的状态发生改变时&#xff0c;所有依赖于它的对象都得到通知并被自动更新。这种模式有时又称作发布-订阅模式、模型-视图模式&#xf…
暂无图片
编程学习 ·

睡觉突然身体动不了,什么是睡眠痽痪症

很多朋友可能有这样的体验&#xff0c;睡觉过程中突然意识清醒&#xff0c;身体却动弹不了。这时候感觉非常恐怖&#xff0c;希望旁边有一个人推自己一下。阳光以前也经常会碰到这样的情况&#xff0c;一年有一百多次&#xff0c;那时候很害怕晚上到来&#xff0c;睡觉了就会出…
暂无图片
编程学习 ·

深入理解C++智能指针——浅析MSVC源码

文章目录unique_ptrshared_ptr 与 weak_ptrstd::bad_weak_ptr 异常std::enable_shared_from_thisunique_ptr unique_ptr 是一个只移型别&#xff08;move-only type&#xff0c;只移型别还有std::mutex等&#xff09;。 结合一下工厂模式&#xff0c;看看其基本用法&#xff…
暂无图片
编程学习 ·

@TableField(exist = false)

TableField(exist false) //申明此字段不在数据库存在&#xff0c;但代码中需要用到它&#xff0c;通知Mybatis-plus在做写库操作是忽略它。,.
暂无图片
编程学习 ·

Java Web day15

第十二章文件上传和下载 一、如何实现文件上传 要实现Web开发中的文件上传功能&#xff0c;通常需要完成两步操作&#xff1a;一.是在Web页面中添加上传输入项&#xff1b;二是在Servlet中读取上传文件的数据&#xff0c;并保存到本地硬盘中。 需要使用一个Apache组织提供一个…
暂无图片
编程学习 ·

【51nod 2478】【单调栈】【前缀和】小b接水

小b接水题目解题思路Code51nod 2478 小b接水 题目 输入样例 12 0 1 0 2 1 0 1 3 2 1 2 1输出样例 6解题思路 可以发现最后能拦住水的都是向两边递减高度&#xff08;&#xff1f;&#xff09; 不管两个高积木之间的的积木是怎样乱七八糟的高度&#xff0c;最后能用来装水的…
暂无图片
编程学习 ·

花了大半天写了一个UVC扩展单元调试工具

基于DIRECTSHOW 实现的&#xff0c;用的是MFC VS2019. 详见&#xff1a;http://www.usbzh.com/article/detail-761.html 获取方法 加QQ群:952873936&#xff0c;然后在群文件\USB调试工具&测试软件\UVCXU-V1.0(UVC扩展单元调试工具-USB中文网官方版).exe USB中文网 USB中文…
暂无图片
编程学习 ·

贪心(一):区间问题、Huffman树

区间问题 例题一&#xff1a;区间选点 给定 N 个闭区间 [ai,bi]请你在数轴上选择尽量少的点&#xff0c;使得每个区间内至少包含一个选出的点。 输出选择的点的最小数量。 位于区间端点上的点也算作区间内。 输入格式 第一行包含整数 N&#xff0c;表示区间数。 接下来 …
暂无图片
编程学习 ·

C语言练习实例——费氏数列

目录 题目 解法 输出结果 题目 Fibonacci为1200年代的欧洲数学家&#xff0c;在他的着作中曾经提到&#xff1a;「若有一只免子每个月生一只小免子&#xff0c;一个月后小免子也开始生产。起初只有一只免子&#xff0c;一个月后就有两只免子&#xff0c;二个月后有三只免子…
暂无图片
编程学习 ·

Android开发(2): Android 资源

个人笔记整理 Android 资源 Android中的资源&#xff0c;一般分为两类&#xff1a; 系统内置资源&#xff1a;Android SDK中所提供的已经定义好的资源&#xff0c;用户可以直接拿来使用。 用户自定义资源&#xff1a;用户自己定义或引入的&#xff0c;只适用于当前应用的资源…
暂无图片
编程学习 ·

零基础如何在短时间内拿到算法offer

​算法工程师是利用算法处理事物的职业 算法&#xff08;Algorithm&#xff09;是一系列解决问题的清晰指令&#xff0c;也就是说&#xff0c;能够对一定规范的输入&#xff0c;在有限时间内获得所要求的输出。 如果一个算法有缺陷&#xff0c;或不适合于某个问题&#xff0c;执…
暂无图片
编程学习 ·

人工智能:知识图谱实战总结

人工智能python&#xff0c;NLP&#xff0c;知识图谱&#xff0c;机器学习&#xff0c;深度学习人工智能&#xff1a;知识图谱实战前言一、实体建模工具Protegepython&#xff0c;NLP&#xff0c;知识图谱&#xff0c;机器学习&#xff0c;深度学习 人工智能&#xff1a;知识图…
暂无图片
编程学习 ·

【无标题】

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注…