zoukankan      html  css  js  c++  java
  • 数据结构的操作

    1、对数据结构的认识
           对于任何数据结构,其基本操作⽆⾮遍历 + 访问,再具体⼀点就是:增删查改。
    数据结构种类很多,但它们存在的⽬的都是在不同的应⽤场景,尽可能⾼效地增删查改。
    2、如何遍历 + 访问?
    我们仍然从最⾼层来看,各种数据结构的遍历 + 访问⽆⾮:
    两种形式:线性的和⾮线性的。
    线性就是 for/while 迭代为代表,⾮线性就是递归为代表。
    再具体⼀步,⽆⾮以下⼏种框架:
    数组遍历框架,典型的线性迭代结构:
    void traverse(int[] arr) { 
        for (int i = 0; i < arr.length; i++) {
         // 迭代访问 arr[i] 
      } 
    }
    链表遍历框架,兼具迭代和递归结构:
    /* 基本的单链表节点 */ 
    class ListNode { 
           int val; 
           ListNode next; 
    }
    //迭代访问
    void traverse(ListNode head) { for (ListNode p = head; p != null; p = p.next) { // 迭代访问p.val } }
    //递归访问
    void traverse(ListNode head) { // 递归访问 head.val traverse(head.next) }
    ⼆叉树遍历框架,典型的⾮线性递归遍历结构:
    /* 基本的⼆叉树节点 */ 
    class TreeNode { 
           int val; 
           TreeNode left, right; 
     }
    void traverse(TreeNode root) {
           traverse(root.left);
           traverse(root.right);
     }
    ⼆叉树框架可以扩展为 N 叉树的遍历框架:
    /* 基本的 N 叉树节点 */ 
        class TreeNode {
            int val;
            TreeNode[] children;
        }
    
        void traverse(TreeNode root) {
            for (TreeNode child : root.children) traverse(child)
        }
    不忘初心,相信自己,坚持下去,付诸实施。
  • 相关阅读:
    【Python】数据写入Excel(封装后)
    【Charles】设置代理后 手机无法上网
    【Python】随机数/随机值
    【Python】操作JSON
    【Python】补零 不足位数补零
    【python】+操作yaml文件
    【Python】格式化输出JSON
    【Python】+系列教程(1、封装)
    【Python】+系列教程(总)
    【数据分析】+【Python】+股票数据分析
  • 原文地址:https://www.cnblogs.com/controller666/p/14514191.html
Copyright © 2011-2022 走看看