初识数据结构和算法

说在前面:⭐看到这篇文章的友友你好啊,在学习的路途中欢迎你的私信、留言,交流互动啊,我们一起学习、一起进步呀!⭐

目录

数据和结构

解释含义

数据的属性划分

数据和算法的关系

算法中复杂度

时间复杂度

空间复杂度


数据和结构

解释含义

🚀数据就是包含着大量的信息,信息的量堆积上来,就会使得信息变得杂乱

🚀结构就是对数据进行处理,使得数据更加合理

数据的属性划分

🚀按照数据的属性,我们可以先把数据按照属性进行划分,例如:整型、浮点型、字符串型等等

数据和算法的关系

🚀对数据的高效处理就是算法的涵盖内容,如何使用准确便捷的方法对庞大的数据进行处理就需要学习算法的能力了,这里也凸显了学习好数学的重要性,利用数学思维来处理问题,当然死磕代码谁都逃不掉。

⭐算法的底层逻辑还是数学,基础学科构造了底层的逻辑,计算机只是一个辅助工具

算法中复杂度

🚀计算复杂性理论中的复杂度,判断算法的好坏

🚀复杂度往往是考察一个算法是否高效的标志

复杂度分为空间复杂的和时间复杂度,现今计算机的性能飞跃式的提升,空间复杂度往往不会作为考虑的因素

时间复杂度

🚀时间复杂度:指完成一个算法所需要的时间,是衡量一个算法优劣的重要参数。时间复杂度越小,说明算法效率越高。

算法的时间复杂度是一个函数式T(N)

常见的时间复杂度量级有常数阶O(1)、对数阶O(logN)、线性阶O(n)、线性对数阶O(nlogN)、平方阶O(n^2)、立方阶O(n^3)、指数阶O(2^n)和阶乘阶O(n!)等。

大O符号,用于描述函数渐进行为的数学符号,时间复杂度空间复杂度都可使用

时间复杂度函数式T(N)中,只保留最⾼阶项,去掉那些低阶项,因为当N不断变⼤时,低阶项对结果影响越来越⼩,当N⽆穷⼤时,就可以忽略不计了

只要是常量就忽略不计,高阶项和低阶项在一起时,常常可以将低阶项舍去

空间复杂度

🚀空间复杂度:空间复杂度是指完成一个算法所需要占用的存储空间,一般是输入参数的函数。它也是算法优劣的重要度量指标。空间复杂度越小,算法通常被认为越好。

对于不同性能的电脑来说,编译环境、运行环境等都是有差异的,往往性能越高所耗时间越短

一种粗略的计算方式:

程序的时间效率=每条语句的运行时间(不确定的)*运行的次数(确定的)


说在最后:

如何检查自己的数据结构和算法学习的程度?

这里可以推荐一个方法:

把复杂的数据结合给你的朋友用简单的方法讲出来让他理解

### Segment Anything Ultra V2 概述 Segment Anything Ultra V2 是由 Facebook Research 开发的一个图像分割模型,旨在提供更高效、精确的分割能力。该版本引入了多项改进和技术优化[^3]。 #### 模型特性 相比之前的版本,Segment Anything Ultra V2 提供了几项显著增强的功能: - **更高的精度**:通过采用先进的神经网络架构设计,实现了更加细致入微的目标检测效果。 - **更快的速度**:针对硬件加速进行了特别优化,在保持高分辨率的同时大幅提升了处理速度。 - **更低资源消耗**:对于显存有限的情况提供了有效的解决方案,允许在较低配置设备上运行复杂任务[^2]。 #### 安装与依赖库 为了顺利安装并使用此模型,建议先确认环境满足最低要求,并按照官方指南完成必要的准备工作。通常情况下需要 Python 3.x 及以上版本的支持,以及 PyTorch 等深度学习框架作为基础组件。 如果遇到类似于 "找不到VITMatte模型" 的错误提示,则可能是因为缺少特定文件或路径设置不正确所致。此时应当仔细核对文档说明中的指引来解决问题[^1]。 ```bash pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117/ git clone https://github.com/facebookresearch/segment-anything.git cd segment-anything pip install -e . ``` #### 使用教程 以下是基于 Python 编写的简单示例程序,用于展示如何加载预训练权重并对单张图片执行实例级语义分割操作: ```python from segment_anything import sam_model_registry, SamAutomaticMaskGenerator, SamPredictor import cv2 import matplotlib.pyplot as plt def show_anns(anns): if len(anns) == 0: return sorted_anns = sorted(anns, key=(lambda x: x['area']), reverse=True) ax = plt.gca() ax.set_autoscale_on(False) img = np.ones((sorted_anns[0]['segmentation'].shape[0], sorted_anns[0]['segmentation'].shape[1], 4)) img[:,:,3] = 0 for ann in sorted_anns: m = ann['segmentation'] color_mask = np.random.random((1, 3)).tolist()[0] + [0.6] img[m] = color_mask ax.imshow(img) image = cv2.imread('./assets/dogs.jpg') image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) sam_checkpoint = "./models/sam_vit_h_4b8939.pth" model_type = "vit_h" device = "cuda" sam = sam_model_registry[model_type](checkpoint=sam_checkpoint) sam.to(device=device) mask_generator = SamAutomaticMaskGenerator(sam) masks = mask_generator.generate(image) plt.figure(figsize=(20,20)) plt.imshow(image) show_anns(masks) plt.axis('off') plt.show() ```
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值