Cognitive radio networks (CRNs) have emerged as a critical technique to solve spectrum shortage problem and enhance the utilization of licensed channels. To prevent from interfering with the co-locate incumbent networks, before data transmission, nodes in CRNs should rendezvous on an available channel (i.e., idle licensed channel) for establishing a link or exchanging control information. However, implementing rendezvous is challenging because the availability of channels is time-varying and position-varying. For reducing rendezvous failure and increasing throughput, a node pair in CRN should be able to rendezvous on every licensed channels (i.e., maximizing rendezvous diversity) and rendezvous on an available channel as soon as possible (i.e., minimizing maximum conditional time to rendezvous (MCTTR)). Besides, in order to take full advantage of the frequency diversity of multi-channel medium access, rendezvous should be spread out in time and channel (i.e., minimizing channel loading). In this paper, we proposed two rendezvous channel hopping algorithms, T-CH and D-CH, which can be used without time synchronization and role preassignment (each node has a pre-assigned role as either a sender or a receiver). D-CH requires that SUs in CRNs should have unique ID (identifier), while T-CH does not. Both of our T-CH and D-CH have maximum rendezvous diversity and minimum channel loading, and outperform in terms of MCTTR.