第295天學習打卡(知識點回顧 二叉樹 二叉搜尋樹)
知識點回顧
二叉樹
二叉樹(Binary tree)是樹形結構的一個重要型別。許多實際問題抽象出來的資料結構往往是二叉樹形式,即使是一般的樹也能簡單地轉換為二叉樹,而且二叉樹的儲存結構及其演算法都較為簡單,因此二叉樹顯得特別重要。二叉樹特點是每個結點最多隻能有兩棵子樹,且有左右之分 [1] 。
二叉樹是n個有限元素的集合,該集合或者為空、或者由一個稱為根(root)的元素及兩個不相交的、被分別稱為左子樹和右子樹的二叉樹組成,是有序樹。當集合為空時,稱該二叉樹為空二叉樹。在二叉樹中,一個元素也稱作一個結點 [1] 。
二叉樹(binary tree)是指樹中節點的度不大於2的有序樹,它是一種最簡單且最重要的樹。二叉樹的遞迴定義為:二叉樹是一棵空樹,或者是一棵由一個根節點和兩棵互不相交的,分別稱作根的左子樹和右子樹組成的非空樹;左子樹和右子樹又同樣都是二叉樹 [2] 。
二叉查詢數
二叉查詢數也稱為有序二叉查詢數,滿足一棵二叉查詢數的一般性質是指一棵空樹具有如下性質:
-
任意節點左子樹不為空,則左子樹的值均小於右子樹
-
任意節點右子樹不為空,則右子樹的值均大於根節點
-
任意節點的左右子樹也分別是二叉查詢數
-
沒有鍵值相等的節點
-
相關推薦
第295天學習打卡(知識點回顧 二叉樹 二叉搜尋樹)
知識點回顧 二叉樹 二叉樹_百度百科 (baidu.com) 二叉樹(Binary tree)是樹形結構的一個重要型別。許多實際問題抽象出來的資料結構往往是二叉樹形式,即使是一般的樹也能簡單地轉換為二叉樹,而且二叉樹的儲存結構
第124天學習打卡(知識點回顧 反射 Class類)
反射 Reflection Reflection(反射) 是java被視為動態語言的關鍵,反射機制允許程式在執行期藉助於Reflection API取得任何類的內部資訊,並能直接操作任意物件的內部屬性及方法
第227天學習打卡(知識點回顧 弱引用 虛引用)
知識點回顧 弱引用 虛引用需要用java.lang.ref.WeakReference類來實現,它比軟引用的生存期更短,對於只有弱引用的物件來說,只要垃圾回收機制一執行,不管JVM的記憶體空間是否足夠,都會回收該物件佔用的記憶體。
第228天學習打卡(知識點回顧 Synchronized和lock的區別)
Synchronized和lock的區別 1.synchronized是關鍵字屬於JVM層面, monitorenter(底層是通過monitor物件來完成, 其實wait/notify等方法也依賴於monitor物件只有在同步塊或方法中才能掉wait/notify等方法)
第238天學習打卡(知識點回顧 阻塞佇列)
知識點回顧 阻塞佇列 當阻塞佇列是空時,從佇列中獲取元素的操作將會被阻塞。直到其他的執行緒往空的佇列插入新的元素。
第239天學習打卡(知識點回顧 執行緒和程序)
知識點回顧 執行緒和程序 程序(Process)是計算機中的程式關於某資料集合上的一次執行活動,是系統進行資源分配和排程的基本單位,是作業系統結構的基礎。在當代面向執行緒設計的計算機結構中,程序是執行緒的容器
第242天學習打卡(知識點回顧 AQS)
知識點總結 AQS ----CyclicBarrier CyclicBarrier :類似於CountDownLatch,它能阻塞執行緒知道某個事件發生。CyclicBarrier 與CountDownLatch的關鍵區別在於:所有的執行緒必須同時到達柵欄位置,才能繼續執行。Coun
第267天學習打卡(知識點回顧 springboot返回值解析器原理)
知識點回顧 springboot返回值解析器原理 HandlerMethodReturnValueHandlerhandlerReturnValuehandlerReturnType
第272天學習打卡(知識點回顧springboot異常處理步驟流程)
知識點回顧 springboot 異常處理步驟流程 1、執行目標方法,目標方法執行期間沒有任何異常都會被catch,而且當請求結束,並且用dispatchException
第273天學習打卡(知識點回顧 springboot 嵌入式Servlet容器)
知識點回顧 springboot嵌入式Servlet容器 預設支援的webServer Tomcat,Jetty, or Undertow ServletWebServerApplicationContext容器啟動尋找ServletWebServerFactory並引導建立伺服器
第274天學習打卡(知識點回顧 springboot 定製化原理)
知識點回顧 springboot定製化原理 1.定製化的常見方式 修改配置檔案 xxxxCustomizer 編寫自定義的配置類 xxxConfiguration + @Bean 替換、增加容器中預設元件:檢視解析器
第280天學習打卡(知識點回顧 volatile和synchronized的區別)
知識點回顧 volatile 和synchronized的區別 volatile 是告訴jvm當前變數在暫存器(工作記憶體)中的值是不確定的,需要去主記憶體中讀取;synchronized則是鎖定當前變數,只有當前執行緒可以訪問該變數,其他執行
第281天學習打卡(知識點回顧, springboot 斷言)
知識點回顧 springboot 斷言(assertions) 斷言(assertions)是測試方法中的核心部分,用來對測試需要滿足的條件進行驗證。這些斷言方法都是org.junit.jupiter.api,Assertions的靜態方法。JUnit 5內建的斷言可以分成
第289天學習打卡(知識點回顧 SpringCloud dependencyMangement)
知識點回顧 SpringCloud dependencyMangement Maven使用dependencyManagement元素來提供了一種管理依賴版本號的方式。
第291天學習打卡(知識點回顧 LRU)
知識點回顧 LRU LRU是最近最少使用,是一種常用的頁面置換演算法,選擇最近最近未使用的資料予以淘汰。
第292天學習打卡(知識點回顧 java執行時資料區)
知識點回顧 java 執行時資料區 程式計數器 :程式計數器(Program Counter Register)是一塊較小的記憶體空間,它可以看作是當前執行緒所執行的位元組碼的行號指示器。
第161天學習打卡(穀粒商城 3 安裝powerDesigner軟體 下載nodejs)
安裝powerDesigner軟體 下載地址: htp://forspeed.onlinedown.net/down/powerdesigner1029.zip 下一步:
第163天學習打卡(專案 穀粒商城5 SpringCloud Alibaba Feign Nacos)
SpringCloud Alibaba 1.簡介 Spring Cloud Alibaba致力於提供微服務開發的一站式解決方案。此專案包含開發分散式應用微服務的必需元件,方便開發者通過Spring Cloud程式設計模型輕鬆使用這些元件來開發分散式應用服
第171天學習打卡(專案 穀粒商城13 選單三級分類顯示)
三級分類 CategoryServiceImpl.java 查詢所有分類 package com.doudou.gulimall.product.service.impl;import org.springframework.stereotype.Service;import java.util.List;import java.util.Map;imp
第217天學習打卡(MySQL知識點回顧 覆蓋索引 ACID原則)
MySQL知識點回顧 覆蓋索引 理解方式一:就是select的資料列只用從索引中就能取得,不必讀取行資料,MySQL可以利用索引返回select列表的欄位,而不必根據索引再次讀取資料檔案,換句話說查詢列要被所建的索引覆蓋。