iT邦幫忙

2023 iThome 鐵人賽

DAY 9
0

在學習了基本的數據結構和矩陣運算之後,現在將再深入探索C++標準模板庫(STL)中的三個重要容器:vector、list和map。這些容器提供了強大的數據管理和操作功能,是很多AI算法和模型實現的基石。

vector
vector是一個動態陣列,允許快速的隨機存取並在末尾追加或移除元素。

#include <vector>
#include <iostream>

std::vector<int> v = {1, 2, 3, 4, 5};

v.push_back(6); // 在末尾添加元素
v.pop_back();   // 移除最後一個元素

for(int i : v) {
    std::cout << i << std::endl;
}

list
list是一個雙向連結列表,適合於需要頻繁插入和刪除操作的情境。

#include <list>
#include <iostream>

std::list<int> l = {1, 2, 3, 4, 5};

l.push_front(0);  // 在前面添加元素
l.push_back(6);   // 在末尾添加元素
l.pop_front();    // 移除第一個元素

for(int i : l) {
    std::cout << i << std::endl;
}

map
map是一個由鍵和值組成的元素集合,每個鍵都關聯到一個值。鍵是獨一無二的,通常用於快速查找。

#include <map>
#include <iostream>

std::map<std::string, int> ages;
ages["Alice"] = 30;
ages["Bob"] = 25;

std::cout << "Alice's age: " << ages["Alice"] << std::endl;

在AI中的應用

  • vector: 在很多機器學習和深度學習的實現中,vector常常被用作一維張量或向量,用於存儲特徵、權重等。
  • list: 適合於需要動態插入和刪除的數據結構,如在某些圖算法中。
  • map: 用於建立特徵到索引的映射、單詞到向量的映射等。

總結
透過本文的介紹,已經對C++中常用的數據容器有了初步的了解。這些容器不僅使數據管理和操作變得簡單,而且是很多AI模型和算法的基石。


上一篇
矩陣的運算
下一篇
排序演算法 : 氣泡排序法
系列文
C++ AI 起步:編程進入智能世界32
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言