1. 程式人生 > >BSP二叉樹的數學原理(絕對原創)

BSP二叉樹的數學原理(絕對原創)


[img][/img]


[img][/img]


[img][/img]

[img][/img]

當我們說,

    一個平面來到了世界上

那麼,它就會既定的空間進行分割;然後最多分為n塊(n為空間數目);然後每一塊打上一個010100100101001之類的標記。

同時,,,,這些每一塊。。。又代表著一個新的只有0和1的空間。。


1.如果所有的物體都是這些平面片;


  它剛好對應於HUFMAN二叉樹!!;;


  所謂的BSP樹,實際上就上就是HUFMAN二叉樹。


2.如果有些物體不是平面片。。

  
  找到它所在的平面片空間,然後。。。後面再加個0或者1!!


至此,所有的,在平面上的,不在平面上的,都有了自己的HUFFMAN編碼。。


就像  0100101010010101010101010


考慮這樣的序列:

111111111111111111和111111111111110

相當於在說:

後後後後後後後後後後後

後後後後後後後後後後前

同理,考慮以下序列:


101 和 110

後前後

後後前

哪個更靠後呢?

很顯然是:

後後前 也就是 110;


下面說:如果改變了我們的視點,將出現什麼情況:

按照以前的思路:

當我們說:


     視點來到了這個世界上

我們是在暗示:

     它的原來的編碼為000000000000000000

先在突然間編碼變為了一個不確定的值:
    假設說是這樣一個序列:

 0  1   2  3   4   5  6   7   8

如果視點從0 變到4 ,我們的前後順序是否發生改變呢?

(這是在原來座標系統下的值)

-4,-3,-2,-1 ,0,1 ,2 ,3 ,4

這到底說了了什麼?

這,說明了,距離視點的遠近並沒有發生根本的轉變!!!

   改變的是(我們的座標系統!!!!!)

座標系統是什麼?

  什麼是前?什麼是後? 我們的Z座標軸!!!!!!!!

好了。。。。。。。。

一切OK ;盡在不言中。。。。。

相關推薦

BSP數學原理絕對原創

[img][/img] [img][/img] [img][/img] [img][/img] 當我們說,     一個平面來到了世界上 那麼,它就會既定的空間進行分割;然後最多分為n塊(n為空間數目);然後每一塊打上一個010100100101001之類的標記。

遍歷C++實現

二叉樹3種深度優先遍歷(遞迴、非遞迴)、層次遍歷,最簡潔、最好記! #include<iostream> #include<stack> #include<queue> using namespace std; //節點定義 struct Node { c

判斷是否平衡letcodeC語言

給定一個二叉樹,判斷它是否是高度平衡的二叉樹。 本題中,一棵高度平衡二叉樹定義為: 一個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過1。 示例 1: 給定二叉樹 [3,9,20,null,null,15,7] 3 / \ 9

資料結構實驗之八:中序後序的深度SDUT 2804

#include <stdio.h> #include <stdlib.h> #include <string.h> struct node { char data ; struct node *l,*r; }; struct node *cr

判斷一棵是否為另一棵的子結構JAVA版本

分析:判斷root1是否為root2的子樹?首先,必須先找到樹1中與樹2的根節點相同的節點,然後判斷從該節點開始root1中是否root2的結構;若有,則返回true,若沒有,則返回false?答案是No! 因為二叉樹root1中可能含有值相同的節點,所以,如果沒有找到,就需要繼續遍歷root1.

zcmu 4931 遍歷資料結構

【題目】 二叉樹遍歷 【程式碼】 #include <cstdio> #include <cstdlib> #include <cstring> #inc

遍歷前序遞迴+非遞迴

題目 Binary Tree Preorder Traversal Given a binary tree, return the preorder traversal of its nodes’ values. For example: Given binary

遍歷中序遞迴+非遞迴

Binary Tree Inorder Traversal(二叉樹中序遍歷) Given a binary tree, return the inorder traversal of its nodes’ values. For example: Given binary tree{

【程式設計3】遍歷LeetCode.102

文章目錄 一、二叉樹的層次遍歷 1、題目描述——LeetCode.102 2、分析 3、實現 二、二叉樹(Binary Tree) 1、相關概念

線索的實現C語言

概念 鑑於普通二叉樹使用過程中會出現空間的浪費,後人對在在二叉樹的的基礎上做了改進,利用它的空指標域存放在某種遍歷次序下指向它的前驅結點,和後繼結點的指標。這些指標稱為線索,相應的二叉樹就成了線索二叉樹。 結點結構 Ltag為0時指向該結點的左孩子,

的問題更新ing

前言 在有序陣列中,可以快速找到特定的值,但是想在有序陣列中插入一個新的資料項,就必須首先找出新資料項插入的位置,然後將比新資料項大的資料項向後移動一位,來給新的資料項騰出空間,刪除同理,這樣移動很費時。顯而易見,如果要做很多的插入和刪除操作和刪除操作,就不該選用有序陣列。 另一方面,連結串

判斷是否相等leetcode-100

遞迴依據:兩棵樹相同位置節點的子樹也必須相等 遞迴出口:兩個節點全是None,相等;只有一個是None,不等;兩個都不是None,但節點值不相等,不等。 # Definition for a bi

coding A&D:AVL平衡的旋轉插入結點

【1】AVL平衡二叉樹的基本概念: 平衡二叉樹建立在二叉排序樹的基礎上,目的是使二叉排序樹的平均查詢長度更小,即讓各結點的深度儘可能小,因此,樹中每個結點的兩棵子樹的深度不要偏差太大。 平衡二叉樹的遞迴定義:平衡二叉樹是一棵二叉樹,其可以為空,或滿足如下2個性質:①左右子

的建立順序儲存

資料結構程式設計練習(六) 題目: 1)能夠呼叫遞迴函式讀取相應的資料建立二叉樹,相應資料格式自行設計;  2)實現先序、中序、後序遍歷二叉樹 3)求取二叉樹中的所有結點數 4)求取二叉樹的深度 輸入如圖所示二叉樹的方式為依次輸入:1,  2,3,  0,4,5,  

的深度Java實現

本題為劍指offer面試題39 牛客網測試地址:https://www.nowcoder.com/questionTerminal/435fb86331474282a3499955f0a41e8b

【演算法】遍歷層序

1.問題描述:    層序遍歷二叉樹; 2.分析:    用佇列實現,首先將頭節點加入佇列;如果佇列不為空,則執行如下操作:從佇列中取出元素輸出,若該元素的子節點不為空,則將其加入佇列。 3.程式碼實現:  void levelSort(TreeNode * pHead)

線索原理以及建立和遍歷c++

這是一篇非常好的關於線索二叉樹的文章,內容詳細到位,敘述清晰。作者應該是很認真、細心的人,估計花了不少時間和精力,向作者致敬! 一、線索二叉樹概念 具有 n 個結點的二叉連結串列中,其二叉連結串列的 n 個結點中共有 2n 個指標域,在這 2n 個指標域中,真正

《劍指offer》面試題39 的深度java

設計模式 博客 rgs 歷史 存在 復制 pri 取值 今天 摘要: 今天翻到了《劍指offer》面試題39,題目二中的解法二是在函數的參數列表中通過指針的方式進行傳值,而java是沒有指針的,所以函數要進行改造。然而我翻了下別人的java版本(我就想看看有什麽高大上的改造

+樹形dpcodevs 1746 貪吃的九頭龍 2002noi

main bsp 搜索 我們 bre define div 思考 import 題目傳送門 看到這個題目我們要先把問題簡化了,條件中是多叉樹,我們可以把它轉換成二叉樹,左邊是兒子右邊是兄弟的儲存方式。 首先先判斷否的部分,當總的果子小於需求,也就是N-k<M-1時