卯卯 | 炼就一手绝世刀法!

日出东海落西山,愁也一天,喜也一天。遇事不钻牛角尖,人也舒坦,心也舒坦!

实现数据结构的编程语言基本要素:数组和指针(有的编程语言没有指针,可以用数组结构实现指针)(最基础)

程序=数据结构+算法

数据结构:CPU上数据存储的方式,更有益数据的处理的格式。

CPU上的基本存储单元:1 B(字节)=8 bit(比特),1bit是代表2种电平0或1。存一个英文字母需要1个字节,8比特。存一个汉字需要2个字节,16比特。

1B=8bit

1KB=1024B

1MB=1024KB

1GB=1024MB

1TB=1024GB

32位操作系统和64位操作系统,64位是指CPU单位时间内可以处理的长度。但是目前很多软件未必支持64位的处理,所以按理64位的处理能力未必是32位处理能力的2倍。

1,数组结构:

在CPU上,数组结构是连续的存储单元,每个存储单元有编号,一个存储单元为1B(字节),通过编号我们可以查取出存储单元内的数据。

在大多数编程语言中数组是要预先定义长度的,在内存中分出一块区域,等宽的连续的存储单元。但是在实际情况下,我们并不知道会处理多少数据,无法预先定义这个数组的长度跟大小。可能的结果:内存资源的浪费或者资源不够,因此数组不够灵活。但是一些高级语言例如python 编译型语言是不需要预先定义大小的,是动态分配内存,Python编程语言有‘垃圾’收回机制,不像偏底层的语言,例如C,需要malloc()和free()函数库来分别分配内存和释放内存空间。

2,指针

指针:在一个存储单元上分出部分来记录其他内存的位置信息。这样的结构可以让我们很容易实现树结构或者图结构。

链表:单链表,双向链表,环形链表。

有了指针后内存的利用更加灵活,减少内存浪费。同时,用一块头指针结构很容易实现插入或删除的操作。但是在查询的时候就没有数组结构来的快数,链表结构每次查询都要从头指针开始。对于删除了的内存单元,CPU会定时的清空着些没有用的指针内存单元,从而节约内存资源。

image.pngimage.png


补充:

image.png


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«   2025年4月   »
123456
78910111213
14151617181920
21222324252627
282930
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接
  • RainbowSoft Studio Z-Blog
  • 订阅本站的 RSS 2.0 新闻聚合

Powered By Z-BlogPHP 1.5.2 Zero

转载请注明文章出处!!!!!